This method (the *#307# dialing described above) works, but of course it's mono and the quality is pretty horrendous.
The BlueCore 4 chip in the iPhone 2G is perfectly capable of A2DP (and is implemented as such in other phones, like a Mio Windows Mobile phone from 2007), but the firmware needs to be modified.
That said, I've been using an Infinxx AP23 BT adapter (a little clip-on at the bottom of the phone) and have been very happy with it. I think it's around $40 retail, I picked it up on eBay for less. It's even survived a pocket-height fall down some stairs while attached to the phone (

) (phone fell bottom-first, landed on BT adapter, which got ejected from phone and its two-piece plastic casing opened, but then I just snapped it back together and plugged it back into the phone, which was also unharmed, thankfully

).