1) Почему бы здесь не использовать функцию для освобождения B функцию DeleteMemory
2) Можно наверно завести define для случая Element not found