Plan C: Use a static variable to keep track of the state of Workflow-B. Each time that Workflow-B completes successfully, its last task should insert a row into the variable with the date that it completed. Workflow-A would then be dependent upon finding this row in the variable, and if Workflow-A runs successfully, its last task should delete the appropriate row from this variable.
A good thing about this plan is that if things got out of sync, someone could manually manipulate the contents of this variable to put things back in sync.