1) You can download the software from URC's website (for the MX series). If you already have most of the devices programmed, it should be simple enough to modify. You can also ask your reseller for the software.
2) Harmony remotes are very easy to program, but you cannot have a lengthy macro (I think 5 or 7 is the limit. The simplicity can bite you if you want anything even remotely complicated.
3) Most modern devices have discrete on/off so it's not an issue. Most cable boxes however, do not have discretes. Some have work arounds, some do not. For example, most dvd players will turn on if you press play. So doing something like play, play, stop is equivalent to a "discrete on"
4) If you want to utilize a length macro, you almost *have* to have RF capability. Otherwise, those macros are not going to work reliably.
I have both Harmony 890 (RF) and URC MX900. The latter wins by a **LANDSLIDE**. But the former takes zero technical knowledge to program.