We do not use work orders with service calls because of cumbersome problems such as this one.
However, suppose you have a way of counting the number of work orders related to a service call, and you maintain that count in a number field in the service call.
The field is initialized as 0. Each time a work order is created, it increments that field by 1. Each time a work order is closed, that field is decremented by 1. When that field is = 0, the DB rule is triggered (only when an existing Service call is saved, not for new Service Calls).