I understand completely. I used to write code almost exclusively in Java, and Java servers also have sessions with long-term in-memory objects. (Plus they have that cool way of storing the session ID inline in the URL, so it works without cookies. But I digress...)
But even so, the way DataMapper works, it might not be very sensible on that kind of server, because the DMZ model retains connections to the database, among other objeects. Also, you would then have to worry about stale data (ie: the user changes their name, and now the session model is incorrect, etc).
Just a hint: I extend the CI Session class to handle loading my user automatically. Basically, after the session is initialized, you can then see if a User ID exists, and if so, load the User automatically, and store it on the session object. If you want to use lazy-loading, do it like this: