can you try:

Code:
void HlSpriteHideModel(ENTITY* ent)
{	
	if (ent.sHandSprt != NULL)
	{
		ENTITY* sprEnt = ptr_for_handle(ent.sHandSprt);
             ent.sHandSprt = NULL;		
             ent_remove(sprEnt);
		
	}
}



switching it around,
maybe it does not get removed (keeps in memory) before the
stored pointer in the eneity is set to null..