Jeff, I copied my response here as I agree it makes better sense in a post than a message. Hopefully you can get other’s to chime in with thoughts.
First let’s discuss a bit on deliverables. Lots of benefits (and some cons) to using deliverables. There are tables and cube files that provide reporting on deliverables. Not sure if answering your specific issue about verifying that a dependency is in place is a single report but certainly can be with a custom report or possibly a Power Pivot model. I’m guessing you mean making sure that every deliverable has at least one corresponding dependency.
Hard links are just that (hard), and will create a more complex program in general. Just know that schedules will move to the dependencies and that your client is aware of the behavior. I’m also assuming that the custom field is to identify the tasks that have external dependencies. I believe that information is available but would need to check to be sure.
I don’t like recommending a solution with limited information but in general I would say that if the client understands and has used master projects before then that might be a good option. If they are at all challenged with managing schedules it might be a long road. In that case I might continue researching a solution with deliverables. In general linking multiple projects to a program is more complex whether you use deliverables or hard dependencies. It’s an easy question/requirement to ask for but can easily be challenging to implement.
Let me know if this makes sense or if you have additional questions. Thanks…