I had this problem with Excel 10 vs 11. Until I got everyone upgraded I created the file path that Excel 10 resides in, then copied the exe to my HD. Then I always bound to 10 even though I was working from 11. Solved the problem.

The problem with the conditional compilation solution provided by El Xid is that you cannot programattically change the compiler constant. So someone has to know that the reference is broken, remove it, and change the compiler constant. (Although it works great for development to keep intellisense available until you switch to late bound.)

You could use a multifile solution, a launcher that detects if the dll is there, and launches the appropriate version of the file (late or early bound). But to be honest it seems like the most reasonable course of action is to define the constants yourself and go latebound.