Hi, Luis -
I suggest you look at the SQLPreview event in the DataWindow Control. When this event contains code, it gets called prior to every SQL statement issued by the DW, so you could use it to count the number of Insert or Update statements... one for each affected row.
The first argument value (request) will tell you when an dw.Update initiated the database activity. The second argument value (sqltype) will tell you the type of SQL statement that is about to be issued.
Before initiating the dw.Update, you'll need to determine the number of rows that will be inserted or updated in order to calculate and refresh the progress percentage. You'll also want to clear your progress indicator when the dw.Update has finished.
Good luck and best regards, John