AI is bugged in many ways...
My char got knocked down + charmed in the fight just before the Witch, Zandalor removed knoked-back first, then rushed and attacked me...this guy is a champ.
The encounter just before the last fight was completely pointless btw, the witch was perfectly bugged and failed to spawn any minions each turn, doing nothing during the whole fight.
Final boss fight was aswell bit disappointing as you said, ended up by spending half the fight healing the damn witch that prefers to buff allies (fortify/heal) when she is at 5% HP... I don't mention the Dragon that obviously don't give a damn about LOS like many NPC, putting summoned creatures and our characters between her and the dragon has no effect at all.
Got this memorable fight against Cassandra before with this silly cat locked in his cage. The guy used all his spells hitting his cage, ridiculous but ended-up by combining water around the cage with electricity and stunned all the party...
Starting fights by throwing meteors clears 50% of the game encounters even before beginning them.
But I loved the game, will restart it in higher difficulty.