That is true which is why I also tested with only select and update.
Originally it was doing:
Select * from tempTable;
Update tempTable set done=1 where id=1;
Update tempTable set done=1 where id=2;
--connection gets broken
now with more results it executes fully:
Select * from tempTable;
Update tempTable set done=1 where id=1;
Update tempTable set done=1 where id=2;
Update tempTable set done=1 where id=3;
Update tempTable set done=1 where id=4;
Update tempTable set done=1 where id=5;
In the stored procedure the updates are within a while loop that generates the id so in this case no additional print or raiserror was being used.