There is some confusion (on both parts) here, I'll try to clarify, there are 3 items that can be in one of 6 'Modes', they are the Remote Control, the CF ir package and the Humax operating system, here are the rules :-
1) the remote control mode can only be changed by O.K. + 0 followed by 1-6 (not by Humax operating system or Custom firmware)
2) the Settings >> Remote Control Settings >> Select Remote Control Mode ONLY sets the CF ir (not the Humax operating system or Remote Control)
3) When the CF ir is changed (in 2 above) it will not take effect until after a reboot
4) Although the CF can't read the current mode of the Humax operating system, It can change it, Notes
HERE
5) when ir CF changes the Humax operating system Mode (in 4 above) it does not change the CF ir mode (in 2 above) at the same time
The main aim is to re-synchronise the remote control and the Humax operating system, this could be achieved by reading the Mode part of the remote control's current setting with the Custom Firmware and then setting the Humax operating system to that Mode using ir CURMODE MODE DELAY2 MODEX where X is the mode discovered by the CF from the remote control's sent commands
EDIT
After a bit more testing I realised that there is a 7th Universal mode used for changing Modes, If say the Humax OS was in mode 3, I assumed that the CF ir also needed to be in Mode 3 to communicate with it, however it doesn't, because :-
Code:
0X FB04 1000 = 'button 2' in mode 1
0X FB04 10FA = 'button 2' in mode 2
0X FB04 10FB = 'button 2' in mode 3
0X FB04 10FC = 'button 2' in mode 4
0X FB04 10FD = 'button 2' in mode 5
0X FB04 10DE = 'button 2' in mode 6
but
0X 8D70 10FF = 'mode set' in universal
0X 8D72 10FF = 'button 2' in universal
Because of the above it should always be possible to display the TV current Mode from the remote control even if the function buttons are out of sync. I have added some notes to the WiKi
HERE, to make sure the O.K. + 0 procedure is done correctly