I tested your code. I see what you mean when you change the grid mode to Edit. I'm not sure you can control that or if that is normal. However, here's my suggestion.
When working with grids, in all applications I did, and that is the same for all controls I put on a form, I never rely on the base classes. Having said that, the same is true for a grid. When I drop my grid class on a form, a base grid custom class - not the one from VFP, at run time, it will adjust itself accordingly to the required font for each column for each textbox, the required size and so on. That means, instead of having a grid defined to show the data, the specific number of columns is defined and each textbox is coming from my testbox class and not the one from VFP. So, by that, I can control exactly how I want the grid to be displayed. I also never allow someone to go in the Edit mode of the grid. For wherever we have editing allowed in a grid, it is done with the proper controls at browse mode.