Like so many things, if you know what you are trying to do, fudge is not difficult to get right.
Fudge is a high fat candy. In the US chocolate is implied but the addition of chocolate doesn't change the process.
You want a solid, creamy candy with a smooth texture.
As Elendil wrote, it is important to ensure that you cook the candy to the correct temperature- but that is only half of the problem.
As the candy cools it will form crystals. In order to have a smooth texture you have to make those crystals as small as possible. The bigger they are the grainier the candy will be. The slower the crystals form the larger they will be able to grow.
For a smooth texture we want to form crystals as quickly as possible.
Crystals require a trigger to set them off- such as a seed crystal or agitation. If the candy is allowed to cool undisturbed and with no seed sugar crystals in the pot no crystals will form. It will be like a bomb ready to go off at the slightest provocation- this is what we want. After it is cooled we stir it like mad to form all our crystals all at once- fast and small.
Fudge is very forgiving in that it is easy to start over. Unlike an egg custard that when it breaks is unrecoverable- the sugar crystals that ruin fudge are easy to fix. You just add a little water, melt the candy back down, and start over.
Tricks to prevent premature crystallization
- Prevent errant crystals!
A lid is placed on the pot for the last few minutes of cooking. This causes condensation to wash any errant sugar crystals off of the sides of the pot. A single errant crystal can ruin your fudge.
- Don't agitate the candy
When the candy is cooling it can't be stirred or bumped.
- Add distractions
I consider this cheating and it is unnecessary but some recipes reduce the risk of premature crystallization by adding things like corn syrup or marshmallow creme.
Like you, I've found a wide variety of fats in fudge recipes. To name a few;
The chocolate fudge recipe in The Joy of Cooking cookbook calls for both half-and-half and heavy cream. (From my home copy of that cookbook)
On this Macinac Island website, there's a recipe that uses a combination of whole milk and Crisco (vegetable shortening). http://www.mackinac-island-insider-tips.com/aunt-merrys-fudge-recipe.html
... and I found a recipe for Devonshire Clotted Cream Fudge that uses other ingredients I'm not familiar with such as golden syrup and castor sugar: http://www.food.com/recipe/devonshire-clotted-cream-fudge-238801
I think you may be obligated to experiment by making different kinds of fudge and discover your favorite homemade fudge. Sounds like a sweet adventure!
Best Answer
I confess to having never actually successfully made fudge (lazy, and until recently the local Wegmans sold it), but it sounds like you want your sugar to recrystallize. Normally that's strenuously avoided, but:
Required: Start with a traditional recipe, not one of the "easy fudge" recipes. The traditional ones start with heating a mainly-sugar mixture to soft ball stage (≈238°F). I found one site with a bunch (that I can't personally vouch for, but am tempted to try): Old Tyme Fudge Recipes.
Try taking the sugar past the soft ball stage. Maybe to firm ball, around 245°F. (This is a mistake I can easily see your mom having done, maybe because she didn't have a good candy thermometer).
Corn syrup is used in fudge (and caramel) recipes to help prevent crystallization. Use plain sugar instead. Same with acids like lemon juice in caramel (and presumably fudge); those should be omitted or substituted with water.
All those admonishments about not stirring once the sugar has dissolved? Probably best ignored. Any tricks about applying the lid to help dissolve any sugar on the side of the pan? Wouldn't bother.
Butter isn't known as a health food. More importantly, fat in the recipe helps prevent crystallization, so why not remove some? I can't bring myself to recommend margarine (or, worse, "spread"), but if you were to substitute, I expect spectacular failure. And of course you are using skim milk, right?
You could try lazyness, I mean all that stirring is tiring! (See "never successfully made fudge", above).
Worst case, brute force it: as the mixture cools, during that time when you're not supposed to stir, grab a teaspoon of sugar and stir it in.
I'm sure with a little experimenting, a touch of laziness, and some optimally bad recipes, you too can fail at fudge making. The hard part is going to be finding the exact texture you're going for—failure can range from a slight failure of "somewhat gritty" to a spectacular failure of "I think that's a jawbreaker."