I'll just be ignoring that incompatibility part you mentioned there.
You could perform a backup in iTunes to save your preferences, media, and App Store purchases. If you have Rock or AptBackup, you can also back up whatever you installed from Cydia or Rock.
Once that's done, you need the SHSHs for 3.1.x. If you never backed up the SHSHs, you cannot get 3.1.x. The SHSHs may be backed up with
Umbrella and/or Cydia. (Cydia on your iPhone informs you of what SHSHs it has.)
In order to use these backed up SHSHs, you must edit the hosts file (found at "/etc/hosts" for *nixes, or "C:\System32\drivers\etc\hosts" for Windows).
If you're using Cydia's servers, add this line:
Code:
74.208.10.249 gs.apple.com
If you're using Umbrella, add this line:
Then find the firmware you want to upgrade to at
The iPhone Wiki, and restore via iTunes. Once the restore finishes, restore your backed up data.
When all on your iPhone is right as rain, revert the edit made in your hosts file so Umbrella works without a hitch (if you're using it).
If you have any further questions or need clarification on anything I just wrote, don't hesitate to ask!