very weird
what strikes me as odd is the way il2 is reporting id's. on my rig simpeds take id1, beta innovations plasmalite takes id2 and 2 bu0836 take up id's 3 and 4- this is the same order reported by windoze game controllers.
this ordering occurs on both my old rig(xp) and new(win7).
as il2 can only accept direct button inputs upto #32 i'm guessing it uses an 'older' (dx8??) input routine which might be a reason you can get different id's with a WIN32 Api???