I have done a small test app to determine the feasability of this and there's huge potentional here. It's a little too complicated to post up (maybe when I get home I can post up some code). But I did a small background app that runs on my WM5 phone (a sprint PPC6700), and a "server" app that runs on the computer that the phone is activesynced to (connected via a simple socket layer). if you can use the .net 2.0 libraries, it's mega easy to detect incoming calls. get the windows mobile SDK, and there's lots of great functions to use under the WindowsMobile.Status.SystemState class. There's an event handler and everything. The small, crude sample app I did makes a small tray popup with the contact's picture and name/number pop up on the synced computer.
check out the library here:
scroll down to the members that start with "Phone". there's tons of possibilities here for a carPC. whenever I get around to doing my carpc interface, I'll definitely be including a way for my interface to show these popups for incoming calls, text messages, etc.