For a general pin, using pin change interrupts, CHANGE is the only interrupt option. Could you be getting multiple interrupts (due to button bounce)?
Much better to disable that particular interrupt than to use detach:
detachInterrupt(DOWNPIN); //Prevents interrupts being called again until everything is complete