never used pev_valid(id) == 2 but i guess it is not really needed.
if you set some ents pdata you should already know whether it has pdata. but it may be usefull if you loop through different kinds of ents (classnames)
a new question which came to my mind
is there any difference between
client_preThink( plr ) and register_forward( FM_PlayerPreThink, "fwdPlayerPreThink" ) ?
__________________