When Refresh Programs Menu and Clear and Rebuild Programs Menu... do not work, resulting in an empty Programs menu, this could be caused by incorrect owner or permission settings on your home directory. To reset permissions and ownership on your home folder open Terminal and enter:
sudo chown -R `id -un`:`id -gn` ~ chmod -R u+w ~
It's important to get that command exactly right, including the punctuation, so you're probably safest to copy and paste it.
After you've done that, you have a couple of options to get your launch icons to show up. The first is to delete your bottles, recreate them, and reinstall your Windows software.
The other option allows you to keep your existing bottles and already-installed software: Launch CrossOver. From its Programs menu, select Run Command. Toggle open the Debug Options section of the dialog. Click the Open Shell button. That will create a new Terminal window and automatically issue a bunch of commands to configure it for use with CrossOver. (Due to some bugs in the scripting frameworks, the first such window may end up misconfigured. It can be a good idea to close it and click the Open Shell button again to create and configure a second such window.) In that window, you can issue the following commands to get the launch icons for previously installed programs:
cxassoc --bottle '<bottle name>' --install
where you substitute the name of your bottle for <bottle name> (putting the name inside the single quotes, as shown). Repeat that process for each bottle and the Windows application icons will be recreated.
Other Articles
Change the Windows version of an existing bottle
Change Where CrossOver Stores Bottles
Printing Documents from Windows Applications using PDFwriter
How to run a Windows application from Terminal