http://dev.mysql.com/doc/refman/5.1/ja/begin-end.html
オプションの[NOT] ATOMIC節はまだサポートされていません。これは、トランザクションのセーブポイントがインストラクションブロックの始めにセットされていなく、この文脈中で使用するBEGIN節は現在のトランザクションに対して効果が無いことを意味します。
ということで現状はATOMICじゃないそうです。
つまり、
BEGIN SELECT a INTO @tgt_a FROM tb_hoge; UPDATE tb_mosa SET b=@tgt_a; END
とあると、プロシージャが並列に実行された場合、UPDATEの時点でtb_hogeのaの値とtgt_aの値がずれることはありえるってこと。
あ、ちなみにMyISAMの話ね。InnoDBならトランザクション使えばOKだし。