I have this fixed. But only by putting a VERY specific ordering of the include directories into the project settings. Which is a little troublesome. There really is no reason the inherited include directories should have to be BEFORE the engine directory (for pulling .h files from the engine code).
That seems very odd to me (and I hate things that are odd). I'm going to try one more thing to see if I can remove that ordering dependency, which hopefully should work (at least I understand the basic problem now, that was 90% of the battle, trying to figure out why the compiler was unhappy).
But it does work. That allows us to use things like String and other containers from the engine in our plugins, which is one of the two requirements. The other one (which is grabbing access to our engine's global variables) is much more of a straightforward coding problem, and really not all that big of a deal. I hope. Of course, that's what I said about this entire subsystem a few days ago, isn't it? 
So now that we've lost two days to that stupid directory ordering problem, we can finally advance with new code. Moving on...
"They laughed when I said I was going to be a comedian ... They're not laughing now." - Bob Monkhouse