The context of your post implies that there can be multiple PO's for a given WO. Your script does not find all such PO's and check all their status.
I suggest either using a script that performs a find for all PO's related to this WO that do not have a status of "closed" or defining a new, additional relationship from WO to PO that matches only to PO's that are not closed. With either method, if even one related PO is not closed, it will be found.
Nice call. Made a 'query' type relationship between the two that ensures only Open POs will be matched. After that, as long as the status field isn't empty, it will call out the error. (POs can only be open or closed, they are auto-entered with data on creation).