After playing around a bit, here are the problems I've found:
Most data appears to come from the network, so why is the app 5.8MB? It's the 4th largest app on my phone (after Maps, Swype, doubleTwist) and would be 5th if I still had Flash installed. It is way too large, which leads to: no move to SD option. Seriously, why not? If you really need to gobble up that much of my memory, at least allow me to store it in the expandable memory area.
Generally poor network performance. It's just really, really slow. Often, when waiting on network data, I can't even back out (UI blocking, poor use of multi-threading?).
Lack of standard Android interactions (e.g. swipe left/right to change time displayed in program listing). Instead I need to click on a very tiny arrow button (which is fine on my 3.7" Nexus screen, but I can't imagine how hard it's going to be on my wife's 3.2" HTC Magic).
Switching times in the program listing deletes the network graphic icons and then appears to retrieve them from the network again.
Extremely limited options in MyDVR. I can only set a recording or cancel a recording/cancel series recording. Why not edit series recordings?
Errors reported trying to schedule a recording, but when I try to schedule again, I'm given the option only to cancel (as if it did in fact schedule it) even though there is no visual indication that a recording is scheduled (it looks like you're caching the recording flag locally when I click, but updating the display from the server).
Gigantic homescreen widget providing extremely limited information. Please look at the Smooth Calendar widgets. In a single 4X3 section of my screen I have 2 Smooth Calendar widgets showing my work and personal calendars and a Due Today widget showing my task list. Additionally my GMail, Yahoo! Mail, missed calls, text messages and Google Voice Mail are all displayed as icons in the notification bar, taking up zero space on my homescreen. Do you really expect me to devote a 4X3 section of my homescreen to display your voicemail and emails, and I can't even see both at the same time? Plus, 25% of the widget is devoted to displaying the XFinity logo and a couple giant icons to switch between email and voice mail display.
When setting the program area, when I enter my zip code for Salem, MA, I get "Comcast Everett- Malden," "Comcast Everett- Malden (Cable Ready)" and "Comcast Everett- Malden (Digital)." Maybe that's correct in whatever scheme you use internally to segment your service areas, but it's meaningless to me. And, since you've already got my account information, don't you already know what my service area is? In general, you are asking the user to answer a question you should already know the answer to, and then forcing them to choose between options they don't understand.
Filter program guide to only display channels I actually receive with my subscription. The ability to filter out non-HD channels when an HD version is available. To be fair, your website doesn't allow me to do that either, nor does the DVR programming guide (it's almost as if you don't want me to easily figure out which channels I actually receive).
When I'm viewing the channel guide, download and cache the non-visible data that I'm likely going to want so I don't have to wait every time I change the time or channels displayed (maybe an "advanced" option to turn on in case people are on a capped data plan, or do it by default on WiFi). Better: update on a schedule (say, nightly, when charging and on a WiFi connection).
Better DVR management options: edit series recording (including the ability to convert a recording to the HD version), show conflicts and allow me to manually override:
e.g. my 7-year old daughter set up a manual recording of a single show that conflicts with a series recording. When I view the scheduled recordings, the series shows a conflict. When I select it, I am shown the conflicts. From there I can either exit or set the series to override. Even better would be the ability to override and reschedule the manual recording to find an alternative non-conflicting time for that specific episode. Currently I need to manually figure out what is causing the conflict, then go and find that one, then cancel it.