With that scenario and the relationships in place from Revisions to Projects and Projects to Waves then you should be able to show a related value list from the Revisions table !
From the post you made on tabpanel borders :
I have a master record (Project) which has x number of related records (Stages) and each of those records has x number of related records (Revision).
You mentioned a 'Stages' table as well and so I wonder whether the relationships are slightly different than I perceive from your post !?
Valuelists via relationship can pick up data from maximum two hops away (i.e. hop 1 is Revisions -> Projects, hop 2 is Projects -> Waves)
So the basic premise is that :
1) Projects have Revisions (1-M)
2) Projects have Waves (1-M)
3) The ProjectID is passed to both Revisions and Waves on record creation
4) There is also a relationship : Revisions -> Projects using the ProjectID (FK) in Revisions table -> ProjectID (PK) in the Projects table
5) The value list is set up using Related Values and the first relationship (i.e. hop) is : Revisions -> Projects and then, where it says 'No N-M Relation, you choose the relationship : Projects -> Waves from the drop down list. This then displays the field list from Waves for you to choose what to display and/or return into the dataprovider
Any other info you can share or example solution you can send which illustrates ?
Harry