Here's what works
I'm not sure you ever grasped that I needed to set the Shipping Method individually for a given product. Perhaps you did and I couldn't understand what you said. However, with your help, I did create a function that resets the value of the variable. Here, for later readers is my function with thanks to DisplayInfo().
function ModifyShipCalcMethod($newMethod) {
if (!$this->IsEmpty() && !$this->EOF()) {
eval("\$this->Items[".$this->DisplayIndex."]->ShipCalcMethod = "."\$newMethod".";");
}
}
I put this function in WA_eCart_Definition_PHP.php
I called it like this
$newProducts->ModifyShipCalcMethod("free"); OR
$newProducts->ModifyShipCalcMethod("fixed");


