I use RunFirst. It's not a difficult program to use and fixes issues I've had with Diablo 2, Divine Divinity, Gothic and some others. I hadn't used it with HoMM3 yet, but I just went and tested it and it fixed my issue in combat.
So. Here is link. It's a tiny 20kb files.
http://www.activeplus.com/products/runfirst 1. Copy the RunFirst.exe into the main directory of the game you want to run (like C:\Games\SpecificGameYouWantToPlay). As long as it's in the same place as the game's .exe .
2. To use it specifically with HoMM3, find your GOG shortcut to the game, left click on it, go to the target bar, and change where it says [ "...\....\Heroes of Might and Magic 3 Complete\gogwrap.exe" HOMM3COMPLETE ]. Delete HOMM3COMPLETE and change gogwrap.exe to heroes3.exe. Preserve the quote marks around the filepath.
3. Also in the target bar, BEFORE the opening quote of the heroes3.exe path, add (without brackets) [...\...\Heroes of Might and Magic 3 Complete\RunFirst.exe"].
Providing you copied RunFirst into the right place and have your install paths (so not ...\ literally :P), you should get a black small RunFirst window appearing just before Heroes 3 launches, binding it to one CPU core.
Hope that helps :)