Happy that my observations were useful.
You are also almost right about HOM codes, but not quite. The values 2200-2215 are not additional to my list, the correct list is 0167 and 2200-2215. My translation from hex values to decimal didn't allow for codes > 2047, so my values 0152-0166 were out by 2048. I came up with 0167 twice and deleted the second entry, which should have been 0167+2048=2215. That duplication should have given the game away, but I'm afraid it didn't.
...
I forgot that the setupcodes are taken mod 2048, so that the original list should be enough. (BTW, have you checked that the 7780 really supports them? They are not in the manual.) Bit: the problem is however that these codes are given as 2200 etc in the printed manual, IR accepts this, you can save and reload, and it is still 2200, not 152 (= 2200 mod 2048), the download works, but IR says (without 2200 in the RDF list) that it is invalid. This is a bug, and should be addressed. Two possibilites: reject/force change 2200 to 152, or check entered setupcode mod 2048.
To SetupValidation: The property of the remote is whether it goes nuts on invalid setup codes or not. Here is another suggestion:
Replace SetupValidation in RDF by (e.g.) HangsOnInvalidSetupcodes taking a value true/false. Introduce an IR-configuration option to suppress warnings for invalid setupcodes (or leave it out; the warnings are not intrusive). Then another IR-configuration option determines whether downloads should be refused if invalid setup codes are encountered, and the remote has HangsOnInvalidSetupcodes==true.
But of course it is more work.