Discovered that the dependency checking implemented by Xarg flat-out does not work correctly (though the .LRN install.xml file didn't uncover the bug). Rather than correct this custom dependency checking code, I rewrote it to use the standard APM install and dependency checking code. This way, if it's buggy, at least it's buggy in a way consistent with installing from the APM UI (and actually that code has proven to be extremely reliable).