Hmm... I'm going to assume that means you don't see "Intel High Definition Audio" in System Profiler at all, either. If you do, you might need to poke around with your output jack a little bit since it's possible a piece of dust got in there and activated the optical out. I've also seen recent iMacs that lose their sound output until some headphones are plugged in and out—weird stuff like that.
If you don't see the audio interface in System Profiler, you could try a PRAM reset or SMC controller reset and see if that helps. Though, if your startup noise is nonexistent, I'd say its highly likely that something hardware-based is broken. Maybe you have an older iMac, but nowadays the startup noise is used almost as a diagnostic by code on the motherboard itself—it'll even sound if you don't have a hard drive installed, IIRC.
Anyway, if none of that works, then yeah, I'd go digging for an external interface. Firewire is actually going to be a bit more expensive than USB, generally. The first thing that comes to mind is Griffin Technology's iMic, which you should be able to pick up for about $30.
If you want to spice it up a bit, check out these USB interfaces from Behringer—all have a headphone minijack, and you can choose between an optical out or a grounding pole for record player input:
They're about the same build quality as the iMic, but they're marketed towards audio professionals so they're at least touted as professional-grade. Personally, I use a UCA200 (the minimum feature set kind they throw in with all their mixers) with my MacBook Pro to interface with an external mixer, and I can say the audio quality is actually much better than the built-in Intel HDA. They may have changed stuff since 2007, but I know that card has all sorts of noise and artifacts you can hear if you're listening with good headphones. The Behringer is perfectly silent by contrast.
EDIT-How to reset PRAM and SMC
The PRAM is pretty simple--restart the computer while holding down command-option-p-r until you hear a second chime... well, how about that. Though, you can continue holding down command-option-p-r indefinitely; the computer will just keep cycling until you let them go. If this is successful, you'll hear a chime after the first cycling, anyhow. Otherwise, just let it boot after you're sure it's cycled at least once.
If that doesn't work, try the System Management Controller: shut down the computer and unplug everything, then hold down the power button for at least 5 seconds, and release. Then plug back in and see if that helped.