Thanks for stopping by my blog/site.
I have to admit, it's been 5 years since I've done the original post you are referring to, and some of the finer details of the software would not be immediately apparent to me now. At least until a careful review, for which I have to admit I don't have a lot of time now. But I will try to at least validate some of your own concerns.
You are absolutely right - the phases of a 14-pole/?? cogs motor will be different than 12-pole/9cogs . You would need to modify the software to have more (I assume more - depends on the # of cogs) PWM steps. Otherwise the rotor will be skipping some of the positions which can lead to uncertain movements - sometimes the next step in the software would result in the back step rotation of the physical rotor. Which is, I think is what you are experiencing.
I am not so sure how you can make it work at all without using an H-bridge. Arduino's 40mA outputs are not strong enough to drive anything in the physical world (maybe except for the tiniest of the stepper motors). Certainly not any gymbal BLDC I've ever seen. Perhaps you meant "no integrated H-bridge circuit", which would mean that you are using an H-brdge on discrete transistors? I don't know what you mean but if you did not, you should really look into employing one kind of an H-bridge circuit or another. Otherwise you will either fry your Arduino or it simply won't work.