[Droid Incredible Android Development] mellojosh:
I am glad to see a discussion about this finally! I have my own findings to share about this.

First off, to understand how this improves reception, you have to know how PRL's work. The quick explanation is PRL's do not pick a tower based on signal strength, but based on order and permissions. A PRL will pick a Verizon tower even though a Sprint tower or Alltel tower may be stronger. Once the phone locks onto the first available and allowed towers the PRL has no other purpose but to scan again if the signal is lost.

VZW PRL's don't normally allow their phone to go on Alltel or Sprint towers in areas where the map shows coverage. Only in the extended network areas do the phones be allowed to "Roam" on one of the other towers. However, certain settings on the phone, like choosing the option "Home Only" (like in the Menu->Settings->Wireless and Networks->Mobile Networks Panel on Android phones) prevent the phone from going on those networks. This is where the SID is important.

The phones SID tells the PRL what the "home network" is. For example, the SID for VZW in Atlanta is 41. The SID for Sprint is 4274. These are different based on your area. A great list of these is found at The Roaming Zone, which is just a quick Google search away!

So, how does this knowledge help? Force your phone to roam on the best network available at that time. I have found and modified a PRL that allows you to roam on Sprints network, and then switch back to VZWs when it’s a better option. Please note this must be done manually.

In my case, I have poor VZW reception at home, but it’s perfect at work. So by getting into the CDMA settings and changing my SID to a Sprint one and loading the custom PRL (included at the bottom for everyone :)) I can now got to the Mobile Network panel and choose "Home Only". It is usually a good idea to enable and then disable airplane mode after this, but not always necessary. My phone now gets 4-5 bars at home. Once at work, go to the Mobile Panel, Select "Automatic" and it goes back to VZW.

To edit the SID depends on what kind of ROM you have. I have tried a good bit of them and have found that Sense ROM's use the ##778 code and with Non-sense (Senseless? :rolleyes:) ROMs use the ##7764726 code (dial this from the phone application, it should not actually make a call) and use 000000 as the password.

To flash the custom PRL is very easy to do with the Incredibles stock type ROMs. Just copy the PRL to the SD card and select PRL then choose the first option. Hide the keyboard if necessary and select the PRL file (you can also go back a screen and get to the SID menu ;)) then press Menu->Commit. On the non-sense ROMs I recommend doing these steps before flash the non-sense ROM. If it’s already flashed, I would try something like CDMA work shop to flash it. The software can be a bit difficult to get going, and I believe it costs, but I think even the trial version does this just fine.

A couple of notes, the non-sense ROMs show "Home Only" and "Automatic" and the sense ROMs show "Home Only" "Automatic A" and "Automatic B". I have not found there to be a difference between A and B, but may be different for your area. This PRL I've made has the roaming indicators turned on, so in a Sense ROM the Triangle flashes (showing that the phone is roaming) while it is on VZW's network (if your SID is a Sprint SID) and does not flash if it’s on Sprints ("Home Only"). The non-sense ROMs show a steady roaming triangle on either mode. I am working to remove these indicators. Also, "Verizon Wireless" does not show as the service provider, this area is now blank. The Sky Raider ROM seems to be missing the components necessary to do this.

I hope this helps anyone looking to do this kind of stuff.