thank you for replay.
there is 3 questions:
1- what happened for bmap that removed?and how i know that is removed?
if a BMAP* removed and not set to NULL a problem will occur.in that situation this code make an error: (b is a BMAP*)
if (b!=NULL) ptr_remove(b)
if b dosen't set to null so b is not null but ptr_remove make an error.

2-if a BMAP* Predefined (out of any functions) ,what happend after level_load?

3-if a BMAP* defile in a function or action ,what happend after level_load?