Hello,
you should test this code:
var curloc = Cesium.Cartesian3.fromDegrees(curlon, curlat, (curalt * 0.3048), Cesium.Ellipsoid.WGS84);
var quat = Cesium.Transforms.headingPitchRollQuaternion(curloc, -curhead-Math.PI/2, curpitch, curroll, Cesium.Ellipsoid.WGS84);
path[1].orientation.unitQuaternion.push(time, quat.x, quat.y, quat.z, quat.w);
Indeed, for an entity, the frame used to apply a rotation is EastNorthUp frame which is local to the position. So the abscissa axis is West-> East and the ordered axis is South->North. As a trigonometric an angle is defined from abscissa axis (here West->West), you must remove 90 degrees or PI/2 radians to convert from a flight angle.
Finally the direction of trigonometric angle and flight angle are opposites.