The answer to your question is Yes.
EJBObject now is gone in
EJB 3, or we say, not exposed to the users. Vendors may use similar mechanism to implement EJB 3 beans like before.
Generally there are 2 types of approaches, one is static, which is more traditional. Code generation is used during packaging/deploy phase.
Another approach is dynamic proxy, where you won't see the "wrapper" classes. This approach is extensively used by Spring/Hibernate etc.
It is also true generally to your second question. Most vendors will instantiate a new EJBObject per client. Remember "Bean" object is pooled though.
Again this also depends on the vendor's implementation. Vendor may choose different ways to make it more efficient.
Hope it helps.
Cheers,
Tao