1) check if the type of the handle is destroyed (see: "The handle is stored in the first 4 bytes of an engine object. It consists of a unique index number plus an object type identifier in the high byte, taken from the following table . The handle can be used to identify the type of the object. For converting the handle to a var that contains the index number, right shift it by 24, then left shift the resulting int by 10. The identifiers are defined in atypes.h"
http://www.conitec.net/beta/ain-handle.htm)
2) If the type is valid iterate over the given type via ptr_first and c_link.next (
http://www.conitec.net/beta/aptr_first.htm ), and search for the given handle.
This will allow you the use of a "silent" ptr_for_handle..