Hello JKnox,
Attached is an example that uses a secondary data source for some helper fields to evaluate the repeating table. Sometimes having a 2DS to evaluate the data works much better than validation rules. In this example the check box triggers a set of rules on the /FormLogic/Actions/EvaluateCheckBoxError field, and displays an error in the /FormLogic/Values/ErrorMessage field. If the error message is not blank, then the submit is also blocked, and the same logic exists on the submit button.
Hope that example helps!
Bre