Figured it out, although I still think type conversions should be trapped and a string returned (I know, I know...the whole strongly typed thing...):
-- slashes must be dashes
-- Doesn't work for da.Fill(dt);
insert into person (id, firstname, lastname, creatorid, modifierid, created, modified ) values ('B7154EB2-D2E5-440B-8524-9BE194FABA98', 'Josephine', 'Smith', 0, 0, '2011/12/03 00:00:00', '2011/12/03 00:00:00');
-- Works
insert into person (id, firstname, lastname, creatorid, modifierid, created, modified ) values ('B7154EB2-D2E5-440B-8524-9BE194FABA98', 'Josephine', 'Smith', 0, 0, '2011-12-03 00:00:00', '2011-12-03 00:00:00');
Another idea would be to convert slashes to dashes for the caller?