Final Update: Microsoft, you've won. I've been beaten into submission. Despite countless forum posts, weeks of web research, and direct queries to MS employees with no solid answer, I've succumbed to the workaround. Here's what to do: 1) Follow my original instructions to use the nullabledatetimepicker. modify it to accept 1/1/1900 as it's "null" value, so it shows the null string but reports it's value as 1/1/1900. 2) change your DB schema so that all dates are NOT nullable. Set the default value to 1/1/1900 12:00:00 AM, or getdate(), depending on what you're doing with it. You'll also need to do an update query for all NULL dates to set to '1/1/1900 12:00:00 AM'. 3) match the DS to the DB schema. 4) adjust any code in your program to understand the 1/1/1900 value as actually "null". 5) Be over and done with it and get on with your life! I hate workarounds. Maybe Visual Studio 2010 won't be such a compromised program...we shall see.