The problem with using hyperreals for utility is that unless you also use them for probabilities only the most infinite utilities actually affect your decision.
To use your example if U(snuggle) = ω and U(chocolate bar) = 1. Then you might as well say that U(snuggle) = 1 and U(chocolate bar) = 0 since tiny probabilities of getting a snuggle will always override any considerations related to chocolate bars.
The problem with using hyperreals for utility is that unless you also use them for probabilities only the most infinite utilities actually affect your decision.
To use your example if U(snuggle) = ω and U(chocolate bar) = 1. Then you might as well say that U(snuggle) = 1 and U(chocolate bar) = 0 since tiny probabilities of getting a snuggle will always override any considerations related to chocolate bars.