I suppose that answers my question because it means it would have to send the packet multiple times if an MA so that they could crit or not crit independently. Otherwise all hits of an MA would be crit or not crit which I know isn't the case.
It doesn't. The packet contains an array of targets, each of which contains an array of actions, each of which contains each of those data points on it's own. An 8-attack round with any amount of crits, enspells, etc.. is still just one packet. The client sees it and plays the animations for it consecutively (though with 8 round attacks, it's possible the next attack round comes in before the animations finish and the remainder get skipped).
You can't distingish DA from OAX or FUA because you just see the number of attacks, there's no identifier for which trait caused them.