maybe after ent_remove the entity pointer isn't set to null, and it leads to a place in the memory that isn't valid anymore.
have you tried:

Code:
ent_remove(ent);
ent = NULL;



it would be cool if the engine was some more detailed at what goes wrong. crazy


Check out the throwing game here: The throwing game