Basically the simplest way (at least for me) is to do a simple script or manually edit the xml :-D
If you export your library as a XML, you can just copy and paste your memory cues and hot cues and import back:
For each track, the structure is following:
This is a memory cue:
<POSITION_MARK Name="" Type="0" Start="0.002" Num="-1"/>
This is a hot cue (the NUM="0" means hot cue A, NUM="1" would be hot cue B etc.):
<POSITION_MARK Name="" Type="0" Start="0.002" Num="0" Red="0" Green="255" Blue="0"/>
So if I have memory cue
<POSITION_MARK Name="" Type="0" Start="167.443" Num="-1"/>
I can just copy and add that line and change it like this
<POSITION_MARK Name="" Type="0" Start="167.443" Num="2" Red="0" Green="255"
Blue="0"/>
To become hot cue C on the very same position as the memory cue.
Converting a hot cue to memory cue is just changing the num to -1 "Num="-1" "
Once done, save the file and import the tracks from to your collection. The RB will ask you if you want to rewrite the information so just say that you want.
So far I haven't found other way than doing it fully manually (creating keyboard shortcut for next/prev memory cue and hotcue..) or in the xml as above.
As said - this can be scripted very easily to bulk change your whole collection.