I had a suspicion last time that my digital thermometer may be faulty, so I got an actual candy thermometer that was analog and calibrate by putting it in boiling water and adjusting the nut so it lines up with 100C. Since it's analog, it has an "always on" display which is nice.
Apparently, the edges of the pan can introduce more crystalized sugar which causes fudge to be grainy. That's why you don't stir fudge once it starts boiling. I read a recipe somewhere that called for letting the fudge cool down in a separate bowl, and I believe this is why.
Finally, using a machine to do the mixing of the fudge was kind of a no brainer I should have done from the start. I didn't have a beater, but the kitchenaid on low with the paddle was more than enough!
I've tried some samples from this batch, and the texture in some ways is actually better than the commercial fudge I bought from a local shop. No graininess at all. It's amazing.
Also, I'm using a dutched cocoa powder with a flavor that's much darker and richer than whatever chocolate they use.
The commercial fudge still has a soft creaminess to it which I still prefer to the gentle crumbliness of mine. Also, theirs seems to have a lower melting point, which is interesting. Makes me think they are throwing something else in there.