Hi Mike,
Now that I know that some conditions are reported through the InfoMessage event I'm making progress.
In my view "Truncation error occurred" is an error if it is followed by "Command has been aborted" as the data has not been inserted when I expected it would be, no error having been raised.
That means I can't treat messages with Severity>10 as errors as those two messages have Severity =10. So in terms of the InfoMessage handler I'm plugging in data that I expect clients to use and seeing what messages come out when the data doesn't arrive as expected (then throwing those as exceptions), which seems a bit of a random process.
We're only making relatively limited use of Sybase (importing data into/out of Sql Server, one table at a time) so hopefully I won't have to worry about multiple result sets being returned. I'll try to avoid the ConnectionPool from what you've said.
Thanks for your input & suggestions in my various threads.
Dave