>今までは、すべてのインスタンスでメンバ関数は共有されていて、呼び出されたときに
>インスタンスの情報も一緒に渡されて、メンバ変数の参照が出来るのかなと思っていたのですが

コンパイラ依存だと思うが、VC++の場合はこういう実装になっている。

>関数にstatic指定子を付けたらメンバ変数にアクセスできなくなった

staticメンバ関数として当然の挙動です。