Incidentally the reason the data won't come up is that the radio has to be in one of two states on a CDMA phone for it to happen: Either RUIM_READY (same as a SIM but on a CDMA phone - up and accessible) OR NV_READY.
If it's not in one of those two states data will NOT start. That's the bottom line; if you have a ROM that is built for a RUIM-capable phone and does not include the ability to run without one, you're dorked and done as the code will never go into the proper state to ask the NV for the subscription information and data will not come up.
If you look under system information your phone number, the MID and PRL are probably also missing on that screen - those come from the NV on our phones.
I doubt there's a way to fix this without source to the entire ROM in question - or at minimum source to rild, which you could recompile and change the callbacks out of it to send a State 9 (NV_Ready) up the stack. That SHOULD work.
(Fighting with this crap is part of what's causing me trouble with CM7 right now; I'm neck-deep in this part of the code at present and I understand it pretty well. Our wonderful Triumph radios keep telling Android that it has a SIM slot, and there's no SIM in the slot. That doesn't work so well either considering there's no slot.)