Weird bug, and I'll admit I'm not sure how it's gotten through a few years of QA (Microsoft has the largest army of testers in the software biz). But what's functional programming have to do with anything?
Maybe not precisely functional programming, but functional thinking, that is, no static data in the first place. The way VS handles the clipboard operations resembles a situation when you have a pointer to static data and you erroneously assume the data can't be changed until you refer to it through your pointer next time.