Here is your script, running with some example data that does not have an issue when running JMP 12 or JMP 14. What I would check on your data is that column "bar" is defined as a character column.
names default to here(1);
dt=New Table( "Example",
Add Rows( 3 ),
New Column( "foo", Character, "Nominal", Set Values( {"a", "", "a"} ) ),
New Column( "bar", Character, "Nominal", Set Values( {"", "", ""} ) )
);
list = {"a","b"};
For( i = 1, i <= N Items(list), i++,
item = list[i];
rows = dt << Get Rows Where(
dt:foo == item
);
Column(dt, "bar" )[rows] = "foobar";
);
Jim