Low power temperature logging to an SD card
Taking your questions one by one,

1) I would move the 100&nbsp;µF capacitor to the output of the MC1640, instead of between the transistor switch and the SD card. This will buffer any shocks to the reset line or Vcc.

Since you are trying to keep power to a minimum, you might consider using high-side MOSFET switch instead of a BJT to switch power to the SD card and temperature sensor.

2) From looking at several sources, SD cards appear to typically take up to 50&nbsp;mA when writing, with maximums specified by some manufacturers at 100&nbsp;mA. (It's hard to get a definitive number, since the specifications vary by manufacturer.) I saw a reference to one first-generation SDHC card that took 200&nbsp;mA. In any case, your 350&nbsp;mA supply looks adequate.

3) As mentioned in 1) above, I would move the 100&nbsp;µF cap from the SD card of the transistor switch to the output of the MCP16140. Then you won't have the problem of the voltage on the SD card staying briefly higher than the AVR, in fact it will be just the opposite.

BTW, in your schematic and writeup you refer to the MCP1640. However, according to Table 4-1 in the MCP1640 datasheet, 1640 and 1640B have a "true disconnect option", meaning the output is isolated or disconnected from the input, so your battery voltage would not be passed through. You need either the 1640C or 1640D (input bypass option).