After a lot of deliberation and investigation (and pressure to start cranking out a working Smart Client app), I am trusting my initial hands in this data architecture contest to Custom DataSets passed from a Web Service and stored as serialized files on the client, using IObserver and an ISubject class to coordinate the hand-offs between the Presentation and WebServices Layers. Much more detail to share here; some business objects will be employed, quick CodeSmith gens can provide empty objects to spare me writing dt.Row[0]["field"] for User.Firstname instead, and I'll be set. There is also definite room for VS2005 Iterators and Generics in the equation. More on those as they happen.
Amazing discussion on the Amazing Sahil's blog on DataSets verses Business Objects. 48 comments at last count. Definitely a Must Read (or for some of us, a Must Re-Read.)
In short, think IssueVision for the basic approach using DataSet Muscle. While much has changed since DevDays 2004, still good practices there to investigate and consider.