It's the different origin points. The grid fill and the grid overlay need to both have the same origin. Ralf talked about this recently. I think his suggestion was to put a small polygon at 0,0 and assign the fill you want to use. That will set its origin point to 0,0. IIRC...