Here is the answer that, with @Chip's and @Michael's help, I came to:
$DateStringFormat = {"Year", "-", "Month", "-", "Day", " ", "Hour", ":", "Minute", ":", "Second", ".", "Foo"};
System`DateStringDump`convertDateStringForms[{__, s_}, _, _, "Foo"] := Module[{n = 6}, StringTake[ToString[PaddedForm[N[Round[s, 10^-n]], {30, n}]], -n]];
DateObject[{2014, 11, 7, 8, 0, 0}] + Quantity[6.100000, "Second"]
DateObject[{2014, 11, 7, 8, 0, 0}] + Quantity[6.0000107, "Second"]
DateObject[{2014, 11, 7, 8, 0, 0}] + Quantity[6.0000108, "Second"]
DateObject[{2014, 11, 7, 8, 0, 0}] + Quantity[6.12345671, "Second"]
DateObject[{2014, 11, 7, 8, 0, 0}] + Quantity[6.12345672, "Second"]
Still, two things bother me: (1) I can't find documentation about "DateStringDump" in the Mathematica documentation, or anywhere on Google! (2) Why does Round[_,10^-6] yield .0000107→.000010 and .0000108→.000011; and why .12345671→.123456 and .12345672→.123457? I see no pattern here. ...Maddening.
SystemDateStringDumpconvertDateStringForms[{__, s_}, _, _, "mysecpart"] := ToString[Floor[1000000 Round[FractionalPart[s], .00001]]]and then$DateStringFormat = {"Year", "-", "Month", "-", "Day", "T", "Hour", ":", "Minute", ":", "Second", ".", "mysecpart"}. – Michael E2 Nov 07 '14 at 23:36SystemDateStringDumpconvertDateStringForms[{__, s_}, _, _, "mysec"] := StringDrop[ToString@NumberForm[6.1, {8, 6}, NumberPadding -> {"0", "0"}], 1]. Not sure why M won't pad in the way everybody wants (i.e.,StringDropshould be unnecessary). – Michael E2 Nov 07 '14 at 23:52$DateStringFormat = {"Year", "-", "Month", "-", "Day", "T", "Hour", ":", "Minute", ":", "SecondExact"} SystemDateStringDumpconvertDateStringForms[{__, s_}, _, _, "Millisecond"] := ToString[Floor[1000000 Round[FractionalPart[s], .00001]]] DateObject[{2014, 11, 7, 8, 0, 0}] + Quantity[6.100000, "Second"] DateObject[{2014, 11, 7, 8, 0, 0}] + Quantity[6.0000101, "Second"], which worked great for the 6.100000 example, but it renders 6.0000101 as 6.10. ?? – Cary Millsap Nov 08 '14 at 00:26