Here's your 16 bit limit. It is indeed stored (server-side) as a float, and converted back (client-side) to a float, but in the message it is being sent as a 16 bit int (times 3, cause xyz).
IW tried to do a bit of hacking around with it by using a mapcenter, off of which all coordinates are based, giving mappers a tiny bit more leverage over the system, but ultimately players still are bound to a 65k by 65k by 65k unit box with a center wherever.
Edit: Actual trimming occurs here, serverside: https://github.com/D4edalus/CoD4x_Server/blob/master/src/msg.c#L1889
Ninja has tried in the past to work around it, but the serverside killcam had some stuff so hardcoded in it that his patches crashed servers with killcam enabled, and they had to be pulled. He (seemed to) have given up on it, as the hard coded part is quite deep and quite involving, but it can be tracked down (I know cause I've found the part in the killcam too. Just didn't save it anywhere)