You are not alone. Mt wife and daughter both have the 2G iPhone and I have a 3G iPhone.
The 2 x 2G's could make incoming an outgoing calls to land lines but not to my 3G iPhone. Most calls were going straight into answer phone, any text sent took forever to either send or be received (many hours) and battery life was incredibly short and the battery was getting very hot.
This worked for the two 2G iphones and the 3G iPhone following upgrading to version 3.0 from 2.2;
1. Go to Settings app on the iPhone > General > Scroll down to "Reset" and the select the top option to "Reset All Settings" This will reset the settings and reboot.
2. Go to Settings app on the iPhone > General > Scroll down to "Reset" and the select the 3rd option to "Reset Network Settings" This will reset the settings and reboot.
3. Now plug the iphone and connect to iTunes and click on the "Info" Tab
4. Manually check the synchronisation settings as they may need to be reset to how you want them to work - just act like you are starting from scratch. (contacts, music, etc.)
Problem solved !!
Obviously turn off Fetch, Push, Wifi, 3G etc if not required to maximise battery life.