>Awrapperを作ったとしてもAwrapperのメンバがA*に直接アクセスするのを制限できない問題
そんなモノ無い。でおしまい。
そもそも public である Awrapper::Func1 は、自身からA*を隠すのが目的ではありませんよね。
private である B::Func1 との違いを良く考えて下さい。