Ah, I figured it out. I had a feeling this is what it was...
In the GCC-G++ include directory, there is a single folder called c++. Inside that, it again has only one folder: 3.4.2. Inside that is the STL, along with some other helper headers.
My obsessive-compulsive-organizer self thought those two levels of folders (/c++/3.4.2/) were unnecessary, so I copied the contents of the 3.4.2 folder straight into the include directory. It turns out, however, that g++ expects the stl to be in include/c++/3.4.2, and chokes if it's not.
My bad. Sorry for the thread.