LoNet 808 GSM+GPS - power on/off?

Using a LoNet GSM+GPS SIMCOM808 breakout with an Arduino Trinket 3V (FTDI), controlling it via SoftwareSerial, and that works fine. I'm completely puzzled however by the power on/off behaviour of the module. It switches on the moment a sketch is loaded when it was off, or switches off when it was on when the sketch loads.

The PWR pin of the module is a power toggle, "PWR: this is soft power switch for the module, you can pull it to high level for at least 2s to power up or power down the module."

But, I am not pulling the module's PWR pin HIGH on startup! The Arduino pin connected to the module's PWR is set to OUTPUT, and LOW.

If I define the pin as an INPUT the module does not see the pin, and stays on or off, as I want. I thought this could be a solution: define the pin as an INPUT first, then when necessary switch the pin to a HIGH OUTPUT, and back to LOW, and back to INPUT. That does not work, the module does not recognize that as a power on/off signal.

I can control the power on/off of the module with the Arduino pin in OUTPUT mode, but the problem is that at sketch startup I do not know if the module is on or off, nor can I detect it's power status. The module's RI (Ring Indicator) pin should tell me the module is on or off, according to the documentation, but it doesn't: it is always HIGH. It does send an interrupt though, on power up.

Another thing is that when switched off by pulling PWR HIGH, it will switch itself on again after about 30 seconds, without anything happening on it's PWR pin!

So, what happens with a pin defined as OUTPUT, and written LOW that the module sees it as a HIGH? And, can I not change an INPUT pin to OUTPUT while a sketch runs? Any idea is welcome!

Found a partial solution: the Adafruit Fona docs describe their power pin (KEY):

The module comes by default off. Tie this permanently to ground if you never want your micro to turn off the FONA for power saving

So, I tried tie-ing the module PWR pin to HIGH instead of LOW, and that seems to work! If the module was off it stays off, if on it stays on.

void setup() {
    pinMode(PIN_4_LONET_OUT_PWR, OUTPUT); 
    digitalWrite(PIN_4_LONET_OUT_PWR, HIGH);   // HIGH! will keep module power in state it is in
}

To power up or down (toggle power):

digitalWrite(PIN_4_LONET_OUT_PWR,LOW);
delay(100);
digitalWrite(PIN_4_LONET_OUT_PWR,HIGH);
delay(2200);
digitalWrite(PIN_4_LONET_OUT_PWR,LOW);
delay(1000);
digitalWrite(PIN_4_LONET_OUT_PWR,HIGH);

To find out if the module is on or off I can send it an "AT" command. If no reply, it was OFF.