Motion Hold is especially useful when a motion needs to have a very tight synchronization with some other process -- when the synchronization must be accurate to less than one millisecond. A Windows app cannot offer this level of synchronization so it must be configured into the RMP for processing in the real-time firmware for sub-millisecond response to start motion.