Problem is the 3G-S software is looking for specific hardware. Its not like they needed to code it to be compatible with a wide range of machines. Its looking for the hardware features of the 3G-S, and when it doesn't find them it just doesn't run or crashes.
We know voice dialing can be done, but getting the stock apple software to run, I don't know about that.