That's because XMinorGrid is one of those things that some plotting functions want to set one way and some want to set another way. For example, semilogx is wants to set it to 'on', but semilogy wants to set it to 'off'.
Because of this, in addition to setting the default, you need to tell the plotting functions that you're taking control. To do that, you set the Mode in addition to the value:
This isn't needed with something like LineWidth because the plotting functions always use the default for that.