Thanks all for the info, lots over very good hints and links in this thread.
So, to summarize, in case I've got something wrong:
There are basically 2 major types of error when PD focusing:
1) Misalignment between the PD array and the sensor plane
2) Error in the lens with regards to responding to a position request, i.e. command "focus to 8.1ft" results in actual focus to 8.2ft
The first error is mostly lens independent, and should be fully accounted for during manufacture, but can result from physical changes in the body, i.e. dropping, wear, etc. Hence AFMA helps here.
The second error is almost exclusively lens dependent, and can result from a variety of factors, including error in position sensor in the lens, and physical changes in the lens, i.e. wear, dropping, etc. Here AFMA has the most important role in fixing the problem. It also explains how the 3rd party systems can correct for focus issues just by modifying firmware in the lens.
Being an engineer and having taken courses in control theory had me thinking that by "closed loop" that meant the PD array was used to close the loop, camera checks PD array, moves lens, checks PD array, moves lens, etc. until PD array reports focus.
I didn't consider that another type of closed loop is camera checks PD array, tells lens to move to a position and lens reports done. While technically closed loop, it isn't as simple as the first case, and exposes the system to more sources of error.
Engineering is all about compromise, so the fact that Canon does it the way it does points to there being a benefit to the more complicated method, my guess would be speed.
It's similar to how the contrast detect focusing in live view is "slow", contrast detect doesn't deliver as reliable a "your focus is off by this much" sort of error signal, so the loop is closed by the contrast detect, hence the hunting you see while in live mode.
So thank you all for clearing this up for me!
One last question: how does Nikon do it? Does it also have an AFMA type tool?