Thanks for the tips guys. To answer your questions:
Power supply is a Korad 5 amp per channel dual linear supply set to serial mode, so voltages are equal in magnitude. I have used this PS to power this type of opamp before with no problems. And the output is not clipped; it's just not amplified. I have found the LM7171 to be very tolerant of input voltage variations anyway. But for the record, I started off feeding it with 5.5v rail to rail and cranked it up in 0.2v steps to 30v rail to rail with no change. Actually, that's not quite true -- the current draw did climb slightly. From about 32mA to about 36mA, IIRC. I also tried feeding it a range of voltages with a TLE2426 rail splitter but that made no difference either.
Resistors were hand-matched as close as possible from a selection of 1% 1/4 watt metal film. I forget the exact numbers, but at worst would have been within 1/2? for the 510? resistors, and 1? for the 1K values, so better than 0.1%. To put it another way, it's an order of magnitude worse than the bragging in the Linear Technology note that danadak posted, but an order of magnitude better than the 2% the same note is comparing to.
I have verified the integrity of the solder joints by measuring the resistance from opamp pin to opamp pin. Twice. I have triple-checked the pin-outs to make sure I didn't mix something up (it's dead-bug wired over a copper clad board -- first time I've tried this, so I could easily have made a mistake there!)
I've never used Spice (or any other simulator). I looked into it once, read a bunch of comments about the inaccuracy of simulations compared to the real world, and dropped it. Similarly, while I've heard the name Matlab, danadak's analysis attachment means nothing to me at first glance. I'll have another look to see if I can decypher it in the morning. (You guys have to understand that I'm an old smoke eater. Strong like a bull and smart like a freight train. I'm lucky if I can remember my own name when I wake up in the morning. Speak slowly and use small words!
)