<p>If I put a DateTime value into an Excel cell using <code>Range.set_value</code> through .Net COM Interop, and then retrieve the value of that same cell using <code>Range.get_value</code>, the Millisecond part of the value is not returned, though everything else is correct.</p>

<p>Is this a bug?</p>

<p>What is the workaround? I'm guessing that using the Value2 property instead might help. Has anybody else tried this?</p>

If you set a date/time with a millisecond value in Excel manually, does it maintain it? I don't know about the Excel internal object model, but it's conceivable that it just doesn't support milliseconds.
EDIT: Okay, now we know that the set fails (the get may also fail, of course)... you could try setting it as a double after converting it via
DateTime.ToOADate()
. I'm not saying I'm holding out
much
hope, but it's worth a try...