• jcb - thanks, I checked, in fact there are no triggers anywhere in the database. Actually in the production database the AccountID column is an Identity column, sorry, I did not specify this in my sample code.

    Lutz, I'll try to set up a test environment. So far I did not succeed. The weird behaviour did not occur when I set up any test environment. Only thing I am sure is that the sproc is called only once, it's not a repeated invocation, it does the turn-around all by itself.

    Anyone knows if VB-6 code may be the culprit if it retrieves recordsets and then loops through these via Recordset.MoveNext and so on? That these somehow get counted by SQL Server in the same @@fetch_status variable and thus trick SQL Server into believing fetch_status is always zero?

    (Still does not explain why it then turns around to the first row and starts counting anew though)

    The apps running here are using VB-6 recordsets extensively, it looks even like they are hardly doing anything else ... As it is a distributed application with various parts running on different stations which must be online almost constantly, I have a bit of a hard time disconnecting everybody. But I'll try this next.