I just finished SpaceChem (a great, frustrating puzzle game!), and toward the end I looked up solutions to a few puzzles, but got frustrated that they didn't work for me. It always failed somehow at the "bonders", spots you can move around that will bond atoms together into a molecule. Eventually I got frustrated by an intermittent failure in a level, and looked up the details. Because it was hard to find the full behavior details of bonders, I thought I'd reproduce them here, to help spread the data.
Each bonder has a hidden "priority" number, which can't be determined except by experimentation. Each bonder is tested in priority order to see if it can affect a molecule bond. Once a bonder is chosen, it looks down and right only, checking for a second bonder in priority order as well. This continues through all the bonders.
So, when you hit a Bond+, SpaceChem first checks the 1 bonder: it looks down and right to see if the 2 bonder is there, then to see if the 3 bonder is there, etc. Once it's run through the list of bonders, it checks the 2 bonder: it looks down and right to see if the 1 bonder is there, then to see if the 3 bonder is there, etc. And this continues through all the bonders; at the end, every bonder link will have been checked.
The bonder priority is always the same when you start a level - if there are 4 bonders in a square, the order is:
1 2 4 3
If there are 8 bonders arranged vertically, the order is:
1 2 4 3 5 6 8 7
I'm not sure what the priority order is of the levels where there are only 2 bonders, or 8 bonders arranged horizontally.
Apparently, if you roll your mousewheel over a bonder it will change the priority, but nobody has any details on how this works.