Same Query, Two Plans, One Stinks
I'm uploading the actual execution plans and am curious if anything real obvious may indicate why it uses an "efficient" index seek using I_698INVENTDIMIDX in the one case, and the "inefficient" index seek + key lookup using I_LOCATIONIDIDX in the second case.
The specific parameter values present when the plan was compiled can be seen in the Parameters Tab of Plan Explorer. Once a plan is compiled (and optimized based on the initial values) it may be reused many times, until something causes a recompilation. The two plans you supplied have different parameter values.
So it seems you have a fairly typical parameter-sensitivity problem, where the cached-and-reused plan depends on the parameter values present at compile time. You can find further discussion and a list of actions you might choose to take in the following SQLperformance article: