We would need your file to "find error".
You can upload file here using "Use advanced editor" when writing reply.
Two things to check:
1. Field indexing of the match field used fort the Program relationship—relationship will not work if the field cannot be/is not indexed for some reason. This is probably OK, given that you say you've checked and rechecked.
2. Field content—is the content of the field(s) used and exact match? Sometimes it can look the same but actually be different because of field content that isn't immediately obvious, e.g., leading spaces, trailing spaces, trailing carriage returns, minor spelling differences, full stops.