A quick googling seems to suggest that the the archive bit is set by the OS, and is only ever changed (unset) by backup programs. This sounds perfect, as I'll only be using the one backup routine.

RoboCopy has the handy /M parameter:

/M :: copy only files with the Archive attribute and reset it.

Is there a way to make robocopy silent and have it send progress reports back to my program, I wonder?