If your server is not set to allow execnonquery to return values, you could be getting a null value back from that.
You can try ExecuteScalar also to see if that returns the rows affected.
I too have had issues with ENQ not returning values.
success = cmdSQL.ExecuteNonQuery()