If this is a call to a stored procedure you could try fetching the result set until there is no more data to retrieve, even if you were expecting to retrieve just one row.
I also remember having to place a "select 'hello'" statement at the end of the procedure when the procedure just performed actions on the database and no result set was needed hence expected to be returned from the database. I believe this applied to Sybase ASE only, not MS SQL Server.
Maybe an an open uncommitted transaction could be causing the problem too.