if (alife_query)
remove (smart_cast<CSE_ALifeDynamicObject*>(item),game_vertex_id);
else
level().remove (smart_cast<CSE_ALifeDynamicObject*>(item));
Чтобы что-то создать, надо это сначала удалить, а для удаления надо, чтобы удаляемое имело "правильные" координаты.