Wow, it works perfectly! 
I put in your new code and it seems to be working just as yours does.
...
So overall, its still a bit glitchy, but its still infinitely better than before
Now... how to get it up to 42,000 Rpm? 
OK, we'll just use that as a starting point - I started writing the new code because I wanted to avoid any influence of the stroboscope-related parts of the old code and also to be able to disconnect a winding to measure the back EMF at least once in the electrical rotation (which translated into 6 times per one mechanical 360° turn of the rotor). I'm not sure how fast I will progress with work getting in a way

but I would hope to have some kind of a workable solution in a few days.
I have to warn you though that the ESC (electronic speed control) based on measuring back EMF may not work with the L293D chip - I have to read the datasheet one more time but I don't believe you can put its
outputs into the high-Z state (they are always either 0 or Vmotor) and that will prevent measuring the actual back EMF voltage. So, I'll be sticking with discrete transistors at this point, moving onto power MOSFETs when I switch into the RC BLDC outrunners - the actual goal of this particular project.
EDIT: Oh yeah, is it a problem with my motor that it isn't able to support a CD when its placed on top? It seems to be going to fast to keep proper traction
Yup, that's the lack of PWM playing tricks again - that's what this video is about:
- on these super low RPMs the motor moves so fast to its next stable position point (maximum magnetic attraction) that the CD slips, even though the eye cannot catch the actual movement because it's too quick. Definitely need to add PWM to make the move to the next point smoother or glue CD to the rotor :) - its moment of inertia will pretty much do the same thing.
EDIT EDIT: Also forgot to mention, I had to remove the line "Serial.println(bEMFComp);" near the bottom in order for it to compile, I'm probably missing a module or something
Yes, sorry about that! I've already started messing with back EMF measurements when I realized that the new code can work on the old hardware, so I've taken the EMF related stuff out and forgot this line in there.
bEMFComp used to be defined earlier in the code but I took it out. I'm glad you're proficient with Arduino C to spot and fix that.