I agree with you, this is incorrect behaviour on the UC300 side. I pointed this out a long time ago also but it seems that there is no priority on this and how to solve it. The outputs can't be controlled unless UCCNC is up an running, and it won't run unless the UC300 is there and recognized, so it is a kind of catch 22 situation. But it should only be a problem when you start up for the first time. After first initialisation UCCNC should send the basic start-up configuration to the motion controller which should save that configuration in the firmware and every time the UC300 is powered up it should start with that configuration until it is directed to do something else by UCCNC.
I regard this as a bug in UC300 firmware, but it seems that it is not taken seriously so it is not getting fixed.