I have a stored procedure on a SQL Server 2005 database which has a statement like this:
IF @Condition = 0
BEGIN
RAISERROR(\'some error message
According to SQL Books online severity of 16 "Indicates general errors that can be corrected by the user." - so that severity is OK.
I only have SQL 2008 to work with, but I have tested the RAISERROR('some error message',16,1) and the error was caught in my c# app. Are you sure the error is not being handled in your "SqlHelper" class?