It sounds like the Order plugin would have to support and listen to its own custom events in the case you described. Plugins supporting their own events would be interesting, but I think the OP's feature could be resolved simply by updating the Order plugin to support the 'one service per client' feature.
As Licensecart mentioned, this does bring up some potential issues, such as when the service is cancelled, can they order the service again? What if an admin manually adds multiple services to the client? Would this negatively affect you, the client, or the services in some way? And how would this affect addons? Could addons be ordered multiple times if they are added onto separate services? Some things to think about..