OK, I figured it out:
two issues when setting up retroarch in LaunchBox that caused the issue - the correct core under emulator management must be selected in order to work
1. upon initial setup, LaunchBox selection of cores does not contain FBNeo core, it has all the other useless ones but not the one I need.
2. upon initial setup, LaunchBox has no selection of Arcade as a choice under Associate platform, this could also be the reason that it constantly view the retroarch has missing cores, as it is constantly assuming that RetroArch is used for other platforms which it didn't detect cores
So the solution would be
1. do not use the name "retroarch" to setup you emulator, change it's name under whatever, in my case Arcade, then go through normal process,
2. once it's all set, then edit the emulator, you can then see Arcade is now associated platform, and then chose core, I can finally see FBneo, once it's done, the game will launch from the launchbox.
I really think this is something that could have been ironed out in previous updates, hopefully in future udpates LaunchBox can be smarter.