I finally got 3G data working in Hashcode's port of ICS to the Droid 3/XT860. I'm currently using the isuacell (Mexico) revision on a Bell XT860; I wasn't able to get ICS to boot up on the current Bell update, although I'm sure it's something simple I've overlooked. I'm fairly certain it'll work on other software updates such as the ones from Argentina/Brazil, and possibly the ME863 but I don't have the time to test it myself, let me know if it works for you if you're running any of these updates.
Nevertheless, I got it working pretty easily. I don't have time to do a full writeup right now but it was exactly what I suspected earlier, a minor issue in the Android framework causing an exception that would disconnect 3G data a few seconds after a connection to the APN was successfully made. That, combined with Motorola's RIL library from the isuacell firmware and a few build.prop tweaks were all it took, and so far it is running pretty good.
Only major thing I've noticed so far is that the cell status indicator only seems to indicate either perfect reception or none, no in between, but for now I'm pretty stoked this is working as I can finally use ICS on a daily basis instead of switching back and forth a dozen times a day.
Here's a link to a .zip to be installed via Safestrap. Be sure to perform a factory reset and to be safe, mount system and format it in the "mounts and storage" area before installing the zip to ensure a clean install. Also, as Hashcode had mentioned in his release thread, don't let it restore your old settings when you run through the Setup Wizard on the first boot. Enjoy, and be sure to thank Hashcode for all the effort he's put into making our phones even better!
EDIT: I was lazy earlier and just posted the link to the full update, I finally got around to releasing a significantly smaller, more sensible patch:
I recommend flashing Hashcode's Alpha 5 release, then doing a factory reset before installing this update in Safestrap. I can make one for the non-safe system users out there too, just didn't bother but it'd take two seconds.
Also, check out my github repos for the changes I made to get 3G data working. (You'll probably laugh when you see the change to android_frameworks_base):
I've kind of mimicked Hashcode to keep things simple; my changes are in the branch "ics-xt860". The easiest way to compile it all from scratch is like this: (Assuming you're in your working directory)
1) repo init -u git://github.com/CyanogenMod/android.git -b ics
2) cd .repo
3) git clone git://github.com/buddyrich/android_local_solana.git
4) cd android_local_solana
5) git checkout ics-xt860
5) cp local_manifest.xml ../
6) rm -f -r android_local_solana
7) repo sync -j24
8) Place this file in the root of your working directory, eg: ~/android/system/ : http://db.tt/1HpM2m6r
10) . build/envsetup.sh
11) brunch solana