Does your programmer have a "erase before program" option?
And is it set to erase?