I think you have the concept correctly, but for stability the Cg should be well in front of the Cp at all points in time. If you get a Cg with the heaviest motor you are likely to use, and your Cg is still about 3 inches (a bit more than the rocket diameter, which is a heuristic that seems to work), you'll be fine because as the rocket burns the fuel the weight in back is reduced an the Cg shifts forward. The way to find the Cg is to find the spot that the rocket balances on a ruler, fully loaded and prepped with engine, parachute, nose weights, electronics... whatever.
The way to find Cp is to use openrocket (openrocket can input rocsim files, get that for your dx3
here), or to go to Richard Nakka's website and get the barrowman spreadsheet in input your rockets dimensions.
I used the madcow rocsim file and in openrocket, and I'm having a hard time figuring out how you are getting this instabiligy. If I load "normal" motors, fitting in motor cases of RMS-29/180 or less, I get more than 1 caliber of stability. If I load an I200W (!!!!) which is RMS-29/360, stability becomes dodgy, and I need 2.5 ounces of weight mounted to the nose bulkhead to get 1.09 caliber of stability.
The rocsim file indicates that the Cg is 71.2 cm from the rocket tip (with the huge I200W and the weight added) and is 68.7cm from the rocket tip with a G80 and no weight. The Cp doesn't change: 78.5 cm from the rocket tip.
What distance does the Mad Cow data indicate is the distance between the tip and the Cp?