Particle.Function () losing its value

Actually the StringClass has several equality (and over logical) operator overloads like "==" that allow for that kind of comparison.

As a side note: If I had an alarm system I'd want to arm via a Particle.function() I'd treat any parameter apart from exactly one less obvious than off as an arm command. After all, I guess you rather want the alarm inadvertently armed than not.
You may add an additional parameter like "check" to return you the current status.

like this

int Armed(String command) {
  if (command == "secretDisarm") { // explicit disarm command
    armedcommand = 0;
  }
  else if (command != "check") {   // arm by default (only "secredDisarm" and "check" won't)
    armedcommand = 1; 
  }

  return armedcommand;            // return the state that actually is set in all cases
}

I also don't really see why you are using analogRead() instead of digitalRead(). Are your sensors giving you bad (non digital) readings?
I would understand if you had some "absence"/"fault" check on the sensors where you check for a minimum reading of a closed sensor, but that seems missing too.
BTW, when using analogRead() you should not set pinMode(pin, INPUT).

There is no need to wait 1000ms between your pin reads? Also these other 10sec delays impair your ability to detect other events.
If possible I'd even go for interrupts to check for state change on the sensors.

In the other thread you already were advised to drop the three-parameter Particle.variable() syntax and check the docs for the current syntax.