Port #3 is working like intended - from router.c:
void ROUTER_Rx_IIC3(unsigned char ptype, unsigned char evnt0, unsigned char evnt1, unsigned char evnt2) __wparam
{
unsigned char transposed_note;
// IIC3: connected to my Yamaha AN1x
// lock/release this routing path on SysEx streams
ROUTER_LockPathOnSysEx(PORT_IIC3, ptype);
// filter clock
if( evnt0 == 0xf8 )
return;
if( ptype >= 0x08 && ptype <= 0x0e ) {
// check if channel should be forced to specific value
if( router_flags.IIC3_FWD_FORCE_CHN ) {
evnt0 = (evnt0 & 0xf0) | (router_iic3_fwd_force_channel & 0xf);
}
// check if note should be transposed
if( router_iic3_fwd_transpose != 8 && ptype <= 0x09 ) {
if( router_iic3_fwd_transpose >= 8 ) {
evnt1 += (router_iic3_fwd_transpose-8)*12;
// if value >= 0x80, decrement 12 until we have reached the range <= 0x7f again
while( evnt1 & 0x80 ) evnt1 -= 12;
} else {
evnt1 -= (8-router_iic3_fwd_transpose)*12;
// if value < 0, add 12 until we have reached the range >= 0 again
while( evnt1 & 0x80 ) evnt1 += 12;
}
}
if( router_flags.IIC3_FWD_MBSID )
ROUTER_Tx_IIC0(ptype, evnt0, evnt1, evnt2);
if( router_flags.IIC3_FWD_MBFM )
ROUTER_Tx_IIC1(ptype, evnt0, evnt1, evnt2);
if( router_flags.IIC3_FWD_MBSEQ )
ROUTER_Tx_IIC2(ptype, evnt0, evnt1, evnt2);
}
// forward data (also) to the Core MIDI OUT
#if 1
// if no FE
if( evnt0 != 0xfe )
#endif
if( !router_flags.IIC3_FWD_MBSID && !router_flags.IIC3_FWD_MBFM && !router_flags.IIC3_FWD_MBSEQ )
ROUTER_Tx_INT0(ptype, evnt0, evnt1, evnt2);
}
[/code]
If you want a similar behaviour like for IIC2 (note splitting; just replace the code of ROUTER_Rx_IIC3 by the code you will find in ROUTER_Rx_IIC2
[code]
void ROUTER\_Rx\_IIC2(unsigned char ptype, unsigned char evnt0, unsigned char evnt1, unsigned char evnt2) \_\_wparam
{
// IIC2: connected to my MIDIbox SEQ
// lock/release this routing path on SysEx streams
ROUTER\_LockPathOnSysEx(PORT\_IIC2, ptype);
// forward MIDI clock/start/stop/continue to all IIC modules
if( evnt0 \>= 0xf8 && evnt0 \<= 0xfc ) {
ROUTER\_Tx\_IIC0(ptype, evnt0, evnt1, evnt2);
ROUTER\_Tx\_IIC1(ptype, evnt0, evnt1, evnt2);
ROUTER\_Tx\_IIC2(ptype, evnt0, evnt1, evnt2);
ROUTER\_Tx\_IIC3(ptype, evnt0, evnt1, evnt2);
}
// if IIC2\_FWD\_CHN8\_16 flag set:
if( router\_flags.IIC2\_FWD\_CHN8\_16 && (ptype \>= 0x08 && ptype \<= 0x0e) && ((evnt0 & 0x0f) \>= MIDI\_CHN9) ) {
// directly forward MIDI channel #9..#16 messages to MIDIbox SID and MIDIbox FM only
ROUTER\_Tx\_IIC0(ptype, evnt0, evnt1, evnt2);
ROUTER\_Tx\_IIC1(ptype, evnt0, evnt1, evnt2);
} else {
// forward all other events to the Core MIDI OUT
ROUTER\_Tx\_INT0(ptype, evnt0, evnt1, evnt2);
}
}
or create your own “routing logic” - by changing the source code this MIDI Router is completely configurable! 
Best Regards, Thorsten.