Currently got a DM who keeps his major NPCs classes and abilities very close to his chest, which is fine in itself, but he keeps messing up the abilities and the checks we should get against them and we only ever find out in retrospect once we piece together what the NPC was, usually long after the fight.

For example not getting spellcraft rolls when the enemy wizard casts an illusion in front of us, not even letting us know a spell was cast in-fact. Not giving us spot checks when we should get them etc, or thinking dimension door grants invisibility for some reason.

What's the best way to handle this?