Check your InsertMenuItem() indexes, they should start at item zero, and the item ID numbers for the callback. They both should not be repeated.
#define ID_MENU_ITEM_FOR_CALLBACK 40001
mii.wID = ID_MENU_ITEM_FOR_CALLBACK
iMenuIndex [is zero based and I think goes down then across, into all popups first]
InsertMenuItem(hMenu ,iMenuIndex ,TRUE ,&MenuItemInfo );
don't forget
MenuItemInfo.hSubMenu=???
>>as you know, i dont use a resource editor
In this case IMHO it would be better if you had. This is a large and complex menu.
If I need to smash rocks I get my sledgehammer (resource editor) and if I want to crack a nut I use something more appropriate (append menu on the fly).