I've written a small simple application which calls CTelephone::GetCurrentNetworkInfo and CTelephony::NotifyChange(...ECurrentNetworkInfoChange...) to log the phone's current serving cell and LAC. So far it has worked beautifully on all the Nokia s60 3rd edition handsets I have tested.
I recently tried it on a Samsung INNOV8 i8510 phone and I get the first CID/LAC value correctly but then the same cell is reported even if I drive far away. I tried turning off "power saving mode" but had the same problem. Bizarrely enough, if I open and close the slider on the phone it updates and reports the correct cell (but then gets stuck again on that value until I move the slider again).
Has anyone else noticed this problem? Is there a way to get around this behaviour programatically?