While I agree with the comment about going about things backward (i.e., if you've thought about those things, why haven't they been eliminated yet?), I can see why you might want to gather all possibilities before trying to troubleshoot.
Here's another possibility-- there is not enough friction holding the shifter in place. I'm assuming the FD is friction shifting only. It's possible that in the large ring positions, the shifter has enough friction, but has a low friction spot where its position corresponds to being in the middle ring.
I actually had this problem with a Shimano 77xx series bar end shifter when mounted on a Paul thumbie mount. I had to torque the pivot bolt pretty hard to prevent the FD from slowly migrating toward the small ring.