I found the writexml class does not include columns in the output when the column is null such as a date field. The suggestion is to use isnull(fieldDT, ''). The problem I've encountered with this is the isnull function on a null field yields a 1900 date field. Obviously this isn't the desired result. In addition to using the isnull function I've have to also include something like this.
isnull
(convert(varchar(12),replace(replace(ltrim(rtrim(dtField)),'1900-01-01 00:00:00.000',''),'Jan 1 1900 12:00AM',''),100),'')[dtField]