Hi. I finally had a chance to play with your setup using your scripts and can confirm the behavior you're seeing. However, I can tell you it's not a bug and have an explanation for what's happening.
The root of your issue was the use of the Attachment field. Perhaps you weren't aware, when you create an Attachment field, Access creates a hidden system table to store the files you put into that Attachment field. This hidden system table has a "name" assigned to it.
So, when you created or added the Attachment field to each BE, you were basically creating two different system tables. When you open the FE without refreshing the link, you won't be able to use the new field, because the link to that system table hasn't been established yet.
When you issue the Refresh Link command, the FE then associate the hidden system table from that copy of the BE to the linked table in the FE.
So, when you open the FE again, but connect it to the other BE, that hidden system table link is broken. You'll have to refresh the link again to associate the system table from that BE, which would then break it for the other BE when you open it again.
If, on the other hand, you created the Attachment field to a single BE and then made a copy of that BE file and give it a different name, this problem will not happen even if you switch the FE between those two copies of the same BE, because the system table names are going to be the same.
Hope that makes sense...