<<strange bug in the >>
Strange indeed, when I can back up the database from one server, restore it onto another server, and the behavior of the stored proc/cursor is different in the two places. That makes me say "SQL Server version and/or configuration issue".
I have seen as many comically inappropriate cursors as anybody, and only use them when they make sense: for example, when calling an API proc that is not mine.
Cursor thru InputTable
Fetch next into @MyVar
while MoreData
Exec API_proc @MyVar
Fetch next into @MyVar
wend