1. Yes. Although at least about half of these can be reduced in the calculation due to time-reversal symmetry.
2. Yes. Try
sampling = MonkhorstPackGrid(3,3,5)
print sampling.kpoints()
sampling = MonkhorstPackGrid(3,3,5,force_timereversal=False)
print sampling.kpoints()
(5 instead of 50 so you can actually see the output properly.)
3. Devices are not periodic in C (Z) hence it makes no sense to have any k-point sampling in this direction (or rather, 1 point is always enough). The electrodes, however, are periodic, and that's why you have 50 or 100 points for the electrode calculation.