The 20" iMac G4 has three USB 1.0 ports. Surprisingly, the System Profiler indicated that the iPhone was attached to a fourth, phantom USB 2.0 port. This did not seem correct, as other iMac G4 computers showed the iPhone connecting to one of the three physical USB 1.0 ports.
I decided to remove the phantom USB 2.0 port. Be warned that the following procedure, while working on my system, may, if followed, prevent your system from restarting or impair its operation in some horrible manner. If you decide to remove a phantom USB 2.0 port, proceed at your own risk after being sure you have a current backup of your system.
I noted that the System Profiler said the port was attached to the Host Controller Driver AppleUSBEHCI. Knowing that the other iMacs G4s showed the iPhone connecting via the Host Controller Driver AppleUSBOHCI, I decided to remove the USB 2.0 driver and see if the iPhone would connect via the proper driver.
First I logged in as Root. The USB 2.0 driver, AppleUSBEHCI.kext, is located in the package System » Library » Extensions » IOUSBFamily.kext. I selected IOUSBFamily.kext and used Show Package Contents to view the contents of the package. I opened Contents » PlugIns, and located the driver file, AppleUSBEHCI.kext.
I dragged this file to the desktop and rebooted my computer. Opening the System Profiler, I verified that the iPhone was now attached correctly to one of the iMac's USB 1.0 ports. At this point, iTunes still did not recognize my iPhone, so I downloaded the current version of iTunes and reinstalled it.
I am not sure why this step was needed, but I suspect that reinstallation forced iTunes to remap itself to the correct USB ports on my computer. When the installation completed, I plugged in the iPhone and it was recognized by iTunes.
[robg adds: Definitely in the "proceed at your own risk!" category. Note that you could also use Terminal and sudo to get this done, skipping the root login.]

