How about a modification to the gridmanager plugin.
1. For each cb file the user should create a Layer called "Grid" and populate the Tag field with grid parameters, minX, minY, maxX, maxY, major scale, minor scale
e.g. -400,-300,400,300,10,1
2. This info will be saved in the cb file.
3. Add a button to the gridmanager plugin called, "Update Grid" for example
4. When a cb is opened, the gridmanger will check if a Layer called "Grid" exists and will ask the user if they want to update it.
5. Pressing the "Update Grid" button will read the values in the layer Tag and update the grid accordingly.
I think you have a better idea of what I need

BTW, I have 100's of files and many have their own unique grid
The grid can be in inches or MM
I use inches on my CNC machine
And MM's on my 3D printer and Pick and Place machine
Grids are used in many of my files as snap-to points for hole drillings
For example, in the screen shot below
This file has a non square grid
X - 0.296875 inches
Y - 0.19685 inches
But the grid does not start at 0,0
The material is mounted in a fixture and the X,Y lower edge may be at 0,0, but the grid starts at a different X,Y
The grid origin starts at
X = 0.25 inches
Y = 0.19685
I DL'd the grid manager but it does not do what I want
What I need is whatever grid I am using in a .cb file, needs to be saved as part of that file
If I open that file a year from now, I may have no idea what the original grid was.