I first noticed this problem after I started using the CallSwitch feature on GrandCentral. I was testing and playing around with switching calls between my cell and home landline. But everytime afterwards, whenever I get a call (from non-Grand Central), my caller ID doesn't show up.

Funny thing is that the red LED lights up, and the ringtones I have set up for specific individuals all work perfectly.

Anybody have any idea on what might be going on?

(Did a soft reset, and that does solve the issue. But it seems like a pain for me to do that every time after I get a call that's used GrandCentral.)

I was going to suggest looking at the content protection in the security options. I know that if it is enabled the caller ID will not work with the phone locked. You might want to look at that, but I doubt thats the issue since your phone is not locked.