For the first question, I agree with you - answer is D, for the reasons you say.
For the second question, the answer is B. QFE is defined as the pressure at the highest point on the airfield. QNH is defined as the QFE, reduced to sea level pressure, assuming ISA changes in pressure with altitude. What this means is that, since your altimeter also assumes ISA changes in altitude, the altimeter will indicate the airfield elevation when on the airfield. However, if you fly to sea level with QNH set, your altimeter will not read exactly zero unless the temperature is as per ISA.
Compare QNH with (erm, help, can't remember the Q-code - I think it's) QFF (but I'm sure someone will correct me if this is wrong). This is also the QFE reduced to sea level pressure, but this time you reduce it to sea level using the actual temperature. If you set this value on your altimeter, then dug a big hole and went down to sea level, your altimeter would read zero. As you climb back to airfield elevation, the rate your altimeter increases will depend on the ambient temperature. So by the time you reach the airfield, unless the temperature is as per ISA, the altimeter won't read the correct elevation. Hence this setting is not very useful for us pilots - but it is useful for the met guys, and this is actually the pressure which they show on their pressure charts.
Hope that makes sense!
FFF
-------------