No me gusta utilizar autonumérico, me ha trancaso el juego en algunos casos especiales, no recuerdo cual, si me acuerdo te aviso.
Por otro lado, ahora mismo no tengo en la mente otro caso en donde he necesitado hacer un select dentro de una transacción, pero esas dos respuestas te la debo. Ahora mismo no recuerdo.
PD: No me gusta utilizar Storage Proceduce en aplicaciones comerciales, ya que tendría que casarme con la base de datos y mis aplicaciones pueden utilizar varias base de datos.