double stage reset - needed by cross-compile to ensure that the eeprom is written out before the command returns. (Although this didn't fix the problem so could be removed later.)
when activating an invalid profile or no profile (-1) the activation was not persisted, and would revert to the previous saved activation on reset.
BREWPI_VIRTUAL definef ro the cross-compile.  Placed in the base config to ensure it's defined (negatively) for the arduino compile.