Hola, en mi caso, yo las controlo dentro del procedimiento.
Por ej un procedimiento Actualizar Stock, dentro del mismo abro el begin tran, hago lo que tengo que hacer, si salió todo bien... Commit, falló algo Rollback, si hice Rollback dentro del procedimiento genero un RaiseError, para que Vb se entere que hubo error.
Ah ojo, siempre hablando de Ms Sql