Bueno, mis resultados fueron los siguientes

:
Hice lo que tu me comentaste del dataset.AcceptChanges();, me guarda los cambios como tu dices, y creo el archivo XML, con la popiedad del datset.writeXML().
Segun mis envestigaciones existen tres modos diferentes de escribir el archivo xml, con el dataset.writeXML():
WriteSchema: esta escribe el archivo con el esquema especifico del xml segun la tabla de la base de datos y ademas los datos.
IgnoreSchema:solamente escribe los los puros valores de la tabla sin el esquema.
Diffgram:es escribe el archivo xml, indicandote cual renglon se modifico, cual se deve de insertar o eliminar.
Este ultimo modo es el que me interesa para crear mi archivo xml, para despues pasarlo al origen de datos y actualizarlo, cuando hago el dataset.AcceptChanges(), y creo mi archivo xml como el modo diffgram.

No me indica que renglo que se modifico, inserto o borro, esto es porque ya acepte los cambio al momento de activar el dataset.AcceptChangues, y cuando quiero actualizar el origen no me marca un error.
si quieres saber mas sobre el diffgram ve esta pagina:
http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/cpguide/html/cpcondiffgrams.asp
Esos son los resultados que he obtenido por el momento, gracias por tomerte el tiempo de ayudarme.