Just wondering if one obvious thing has not been overlooked - are all unused GPIO pins at least pulled-up or set as outputs? Input-only pins can draw excessive current which might be also the temperature dependent.
For real low-power, MCU needs to go to sleep3 mode, ie. STOP mode enabled (SOPT), and properly configured (SPMSC2). Then the stop mode is invoked using asm STOP instruction. The MCU will consume ~1uA (LVD disabled, RTI optional). The STOP mode is exited usually by IRQ or KBI interrupt, or RTI if enabled. All oscillators are typically off, so there is no clock activity on the chip (except RTI - ~1kHz RC oscillator).
For low power of radio, the RF chip needs to go to Doze mode (MLMEDozeRequest(time)), which (at the end of time internal) will wake MCU back from the STOP mode by IRQ. The RF will consume ~35uA typ.
Alternatively the RF chip can go to hibernate mode, with no clock activity and the consumption will be around 2-3uA - but then any asynchronous event needs to wake either RF chip or MCU (= no timing possible).
Again all DC load excluded, all GPIO pins (including these of RF chip) needs to be in defined state (pull up or output).
Similar configuration has been implemented on ZSTAR demo (RD3152MMA7260Q) where MCU is MC9S08QG8 with internal clock only, MC13191 with 16MHz crystal. The board transmits ~30 messages per second, there are several receive windows in between, LED activity, sensor measurements, the MCU in full run mode (BUS clock of 16MHz for some time), Doze mode + SLEEP3 for the remaining period of time, all this consumes 1mA average current.
If the board is in 'saving mode', MC13191 is in Doze mode for 200ms, MCU in SLEEP3, Sensor in sleep, little activity every 200ms to check the buttons. If I remeber well, the average current is ~50uA but I can check later on when back in the office (next week).
Hope that helps. Regards, Pavel, Freescale Roznov p.R., CZ