For years I’ve dealt with Inventor users in all kinds of industries, and I have yet to encounter anyone who regularly uses iMates. I’m sure there are some folks out there who do, but it’s an idea that sounds way better in theory than it works in practice. The half of the relationship that you put on the stock part is fine. The other half, which you put on the designed part is the problem. It takes a certain amount clairvoyance to really get the goods out of iMates, and the bottom line is that they don’t save much time or effort. iMates merely move the expended effort and time to a less convenient phase of the design process; the one where you’re making the part, not thinking about how to assemble it or which piece of hardware you’re going to use on it.
What would make iMates really useful is if you only had to pre-place them on one of the components. I see it working like this: An iMate rigid joint could be pre-placed onto the underside of a bolt head. When you placed that bolt into an assembly, you could drag it by its iMate glyph to anyplace on another component where a rigid joint would be valid. The software would detect the geometry and create a normal joint between the two components with no need to pull up the dialog box.
If iMates worked like that I would use them all day long, and I think a lot of others would as well.