Nasty bug fix !
The 'global execution list' collected black box pointers (i.e. boost::shared_ptr<BlackBox*>) and if it was not reprocessed and thus cleared before exit then BlackBoxes might not be automatically deleted (ref count still > 0). Changed the pointers with weak pointers and correctly checked that they are still valid before using them.
This fixed very nasty bugs in which commands like 'connect A.BoxChange B.BoxExecute' for WxBlackBoxes created apparently random leaks on exit (depending on the order the windows were closed or if they were touched !)