I see you don't use TableAdapters. Any reason why? As a follow-up, TableAdapters are loved by some and hated by others (even those who love typed datasets).
TAs really don't offer me anything that I wasn't already doing prior to them. They are a little slower, you're a little constrained, and I've read many blog posts where people have had problems doing UPDATEs using them (that last one is second-hand information, I haven't tried it for UPDATEs myself). I'm going to take a wild guess that the majority of people who like them, are building internal applications (again, a guess).
I'm going to put another sample up tonight that reads from a stored proc directly into a typed DS, using .NET Generics.
Kevin