I have not done much with multiplayer and maybe I'm wrong but I can tell you that you can store player handles in a var.

I store handles in a var all the time. Handles are 32 bit and a var is 32 bit also. There is no "last digit non-precision" because handles have no digits. Technically, handles are long integers. For converting handles to char you just use itoa() and lose no digit.

I also did not understand what you said about the architecture, as far as I've learned, client-server systems control the entities on the servers and send the speed updates to the clients. That's how MMOGs work. The book I've read was "Multiplayer Game Programming" by LaMothe. Other engines I know do it the same way.