Once again, I don't have the source code, but it's obvious that the AI in Heroes was programmed to move towards the nearest stack (or the stack reachable in two turns), and the fact that it wasn't taught to ignore one fly and go for a larger stack can be attributed to laziness or the developers' skill level. But the fact that a unit under Berserk becomes completely uncontrollable, that the Berserk effect doesn't wear off, that the unit doesn't move, and that it behaves differently than expected – that's just a bug.
Is that the same for you? Well, lol, then what else is there to add.
The thing is, the Berserk bug is not a coder's mistake (like a typo or inattention), but a mistake in the algorithm itself – some possible scenarios were not taken into account.
Such bugs are also difficult to fix: for example, fixing the issue where neutral creatures pass through walls (which is a result of the coder's inattention) takes about 20 lines of code, while fixing the Berserk bug takes about 250.
Regarding the possibility of the AI controlling individual units, it's hard to say whether it was intended or not (I think it wasn't), but the fact that the AI walks through fire walls without hesitation is definitely a bug/feature of the same kind as the Berserk bug: the AI has all the calculations for the danger of the fire wall, but they are used incorrectly.