also IMEI data is usually hardcoded to an OTP chip, and the actual module that handles connection to the network (ie. get IMEI, get ICCID, present to tower) is hardware/driver level, closed source and not accessible to the user. the only reliable way to change IMEIs on most handsets is to buy the same OTP chip, write your new IMEI to it, then desolder (SMD) the existing one and replace it.
though come to think of it, I'm now curious whether there's a volatile flash memory device that has the same pin layout as common OTPs...