Если вы хотите, чтобы ваше время было в UTC (что и подразумевает Z), тогда вам нужно убедиться, что это время в формате UTC ...
т.е.
DateTime.UtcNow.ToString("O");
или при условии, чтовы знаете, что ваша дата и время локальные ...
DateTime foo = MethodThatReturnsALocalTime();
foo.ToUniversalTime().ToString("O");
FWIW: DateTime.UtcNow быстрее, чем DateTime.Now, потому что не нужно выполнять поиск по часовому поясу, в Compact Framework эта разница может быть очень большойзаметно по какой-то причине.