>>100
だからwindowsのCRITICAL_SECTIONなら通用する話だけど一般に通用する話じゃないってことだよ。
そういう環境だと

>逆に同じスレッドでAの中からBを呼び出したとき、Bでロックしてしまったら
>誰がロックを解除するんですか?

誰が解除するか心配する以前にBでロックを試みた時点で例外が飛んだりする。