Okay, taking r-bin's suggestion to use a vector point rather than a pixel bounds point, I redid the script. Set up is pretty much as before, except no groups. just a straight line shape layer (2 points only), named "Orig." Duplicate that layer and leave the name as "Orig copy" then rotate that layer and run the script. It's much more accurate!
#target photoshop
var doc = activeDocument;
var origLay = doc.layers.getByName('Orig');
var moveLay = doc.layers.getByName('Orig copy');
doc.activeLayer = origLay;
var origPath = doc.pathItems[0].subPathItems[0];
var origPt = getNodes(origPath);
doc.activeLayer = moveLay;
var movePath = doc.pathItems[0].subPathItems[0];
var movePt = getNodes(movePath);
var ang1 = getAng (movePt[0][0], movePt[0][1], movePt[1][0], movePt[1][1])+270
var ang2 = getAng (origPt[0][0], origPt[0][1], origPt[1][0], origPt[1][1])+270
alert (ang2-ang1)
function getAng(x1,y1,x2,y2,deg){
var deltaX = x2-x1
var deltaY = y2-y1
var angGA = (Math.atan2 (deltaY, deltaX))*-180 /Math.PI
return angGA
}
function getNodes(pth){
var array = [];
for(var i=0;i<pth.pathPoints.length;i++){
array[i]=pth.pathPoints[i].anchor
}
return array;
}