Thank you this is very helpful in understanding why the plans are chosen. Despite the cost estimate though, when I force the "good" plan on the "bad" server (with force index option), the query returns nearly instantly. With the "bad" plan on the "bad" server which the optimizer is choosing because of the estimated cost you outline, it takes over 6 minutes to return. Since even on the "good" server you suggest it's a close call which plan is chosen, I may suggest to the developer to simply include the forced index in his script for now.
Thank you very much for your help!