it's normal, Akz does it the right way.
Try pmtools on the players in Counter-Strike, you'll see that ALL players, no matter what team/class they are, have "models/player.mdl" in pEdict->v.model
The skin is given into the client's infobuffer (which is something different)
That's normal, because the server doesn't *need* to know what skin the players have. For the server, all players play with the models/player.mdl model. This way, it's much faster, and the bounding boxes are the same anyway. The infobuffer is just a client thingy, so that the client is able to display each player with the right skin... but from the server's point of view, this is just cosmetics. The game could as well run with only gordon freeman's shooting at each other, it wouldn't give a shit
You need to feel BOTH the client's infobuffer AND the player edict's model field. The first one is for all the clients, the last one is for the server only.