Does 'make and program device' first perform a clean?
The whole point of "make" (in the Unix sense) is to avoid reprocessing files that haven't changed since the last iteration. If you don't trust this mechanism, then you should always do a "Clean and Build Project".