Looking at the datasheet of the MC33033 it's a controller which is very sensitive to hall positions and such.
I'm wondering whether the halls are correctly placed. Maybe something is wrong there but the motor is still
able to start. Power at low rpm, the fets won't survive then but maybe above 4krpm the motor inductance
limits the currents and helps to safe your fets ?
In the plot the three square waves are the hall signals, the 3 sinewaves the motor back-emf voltages.
The 33033 works by using the hall sensors to divide one 0-360 degrees period into 6 slots. For your motor to
run good and to be able to accept power in every slot the highest backemf (sinewave) must be (via the fets)
connected to battery + and the lowest backemf to battery -. The one in the middle is left unconnected (both fets off).
The 33033 has no clue about backemf and depends on the circuitbuilder to connect everything in the correct order
(this is where the 'try all hall combinations' comes from).
Looking at the first slot in this picture (0-20 on x-axis, here 0-127 means 0-360 degrees), it's easy to identify
the motor terminal with the lowest backemf but the one with the highest, this changes right in the middle of
the slot. Choosing either one will make the motor run, but very crappy (and noisely) and wil blow fets (it did

).
Moving the hall sensors 30 degrees would solve all issues.
So, question is, how good is your hall sensor placement ?