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.
I think you may well be over thinking this just a little.
Water boils at 100c at sea level, sugar raises this temperature to around 110c depending on sugar content.
Specifically, adding 1 gram molecular weight of nonionizing solute (like sugar) to 1 liter of water increases the boiling point by 0.52 degree Celsius (C). 1 gram molecular weight nonionizing solute per liter =0.52 degree C increase in boiling point.
So when you boil your sugar syrup to soft ball 116c you've essentially, boiled all the water away and your left with sugar. Heating it to this temperature changes the shape and direction of the crystals. Adding fat to this generally allows it to set (plus flavour). Just as butter would.
The reason you don't add chocolate as it's warming is water plus chocolate ends badly. You also don't add it at 116c as you will burn your chocolate. Again not a good thing.
Make sure the temperature of the chocolate rises to between 104° F. and 113° F. when melting. Do not heat above 115° F. (milk and white chocolate) and 120° F. for dark chocolate, otherwise it will burn.
The reason you add water to sugar is to allow more control over the heating. If you have no water you'll find the bottom part will burn while the top part is still solid crystals. Which considering you only need 116c, is again... Bad.
Try boiling 1000ml water with 100g sugar and see how quickly it takes for the mixture to reach 110c (5min?) and then see how long it'll stay at that temperature before hitting 116 (30-40mins I guess). Then leave it and watch how within moments of hitting 116c it's suddenly hit 176c and then your pan turn black and your kitchen full of thick yellow smoke :-).
Best Answer
Fructose is one of the sugars in corn syrup. The problem is that 112 C is above the caramelization temperature of fructose, which is 110 C (230 F); this is uniquely low among the various common sugar molecules, most of which begin to caramelize around 160 C (320 F).
The toffee flavor that you are getting is due to the caramelization components.
However, without seeing your exact recipe it is hard to know what to change. I would suggest using table sugar with its much higher caramelization temperature instead of corn syrup would be the most appropriate solution.
It should dissolve the dairy, so you should not need to make a syrup.
However, sucrose (table sugar) has different crystallization properties than fructose and corn syrup, so after you get the main part of the candy mixture up to temperature and then cooled some, you might wish to add a tablespoon or two of corn syrup to help reduce the likelihood of graininess.
You could also try reducing the temperature to say 108 C, but this may affect the final ratio of water to sugar as less water will have been evaporated off, which would change the crystallization pattern in the confection, and thus is texture. It could end up quite sticky or even gooey.
It will probably be easier to search for a recipe for this confection that is already tuned to do what you want, as modifying candy recipes is very tricky; you must get the science and technique just right.
Note: fudge by its very nature is a a solid suspension of very tiny sugar crystals embedded in a dairy/syrup phase. The cooling and beating in traditional fudge recipes are to control the growth of the sugar crystals, so that they are numerous and very, very tiny (which gives the smooth silky texture) as opposed to larger and fewer (which gives a grainy texture).
As fructose and corn syrup tend to resist crystallization, it is odd to have a fudge like recipe with corn syrup as its main sugar component.