I'm also quite new to this, but I'll put in my thoughts in the hopes that they will at least push forth some interaction from those who actually know what they are doing.
I too am using an MX-500, and I have learned that yes, you will need another remote such as a 15-1994 or Cinema 7 to actually program in advanced codes. From there, your MX-500 can learn directly from that remote.
As to how to program in the codes, check out this site: [Link: hifi-remote.com]
The most comprehensive and easy-to-use list of codes that I have found was on www.starbase314.com
Veterans, please correct me if I am wrong, but what I have read so far seems to indicate that a "discrete" code is actually a certain type of "advanced" code. More specifically, it is an advanced code that eliminates the need for a toggle feature (Vid1->Vid2->Vid3->Vid1) in lieu of a direct (straight to Vid3) approach.
RobJ, our levels of knowledge in this field are now exactly equal. Let me know if yours continues to increase.
Input, responses, and corrections are much appreciated.