You are right that "macchina" may be confusing, we use it for a lot of different things but you can always sort out its actual meaning by looking at the context. So I guess you are ok with using it

There isn't - as far as I know - a better word to describe an "ice cream machine", and "macchina per fare i gelati" is quite a mouthful

.
case 8: cVendorWin.SayBackground("Gesu', culo e filo spinato!"); break;
I'm not sure what the English equivalent you had in mind was, but this is probably too much of a makeshift curse (plus some
may find it offensive)
case 10: cVendorWin.SayBackground("Tutta cannata."); break;
It may be different between each dialect but, as far as I can tell, "cannato" is an informal way to describe getting something wrong, rather than something broken (e.g. "Ho cannato l'esame", "I failed the exam")
case 13: cVendorWin.SayBackground("Tutta fritta."); break;
case 14: cVendorWin.SayBackground("Tutta fregata."); break;
They are quite similar in their meaning so I would probably choose just one and, among the two, I'd go with the first one

case 16: cVendorWin.SayBackground("Agghiacciante."); break;
Even though it's one of those words that is starting to get used over and over just to emphasize something, we "officially" say this when some event with "a scary flavour" happened. A murder can be "agghiacciante", for instance.
case 19: cVendorWin.SayBackground("Questa è la fine."); break;
You can go just with "àˆ la fine" right away

case 21: cVendorWin.SayBackground("Ora sono arrabbiato."); break;
Since you used "Cazzo!" before you can use "incazzato" which is more consistent

case 23: cVendorWin.SayBackground("Crocifere turche!"); break;
I think I need the English equivalent, for I have no idea what you actually meant with this
case 25: cVendorWin.SayBackground("Oh caro."); break;
I don't think we really say "oh dear", here.
case 29: cVendorWin.SayBackground("Maledetto! "); break;
If you are referring to the machine itself I'd probably say "maledetta macchina!", if this is more of a "Damn!" situation, then I'd probably use "maledizione!"
case 30: cVendorWin.SayBackground("E' sparito tutto."); break;
Sparito is, probably, as "flexible" as "gone". If I heard "è sparito tutto" without seeing what is actually happening, I'd probably either think that someone robbed a place or that everything disappeared from a screen (but that may just be because I'm around computers most of the time

).
So if by "sparito" you mean something more like "it's over", I probably won't use it.