So, today's update on the laptop:
I solved wireless. It seems with ndiswrapper 1.21 the trick is that you have to 'install' the Windows driver on every boot. This was clearly far too much effort, so I just built and installed ndiswrapper 1.28 instead. It seems to be fine, though it does take about a minute to actually bring the wireless up.
I bought some stuff. I got a Logitech LX7 wireless optical mouse: perfect for notebook usage, it's quite small and the wireless receiver is also small and unobtrusive. I got a Turtle Beach Audio Advantage USB sound card with optical digital output (it has a single 3.5mm output jack and comes with a little doodad that converts it to an optical digital output). And I got a $6 PS/2 -> USB adapter cable which is clearly as generic as you can possibly get and says right on the box that it works with Linux, this for plugging my much-loved IBM Model M 'clicky' keyboard into the laptop (since it has no PS/2 ports).
Two of these were plug and play. One just flat out won't work. I bet you'd never guess which.
Yup, the slightly fancy mouse and the very fancy USB sound adapter work right out of the box with absolutely zero messing about. Even the optical output on the sound adapter. I opened the box, plugged the doodad into the adapter, plugged the adapter into the laptop, connected the adapter to the DAC, picked the USB device as the active output in Audacious, hit play, and heard sweet, sweet music. It was really that simple. I'm flat out amazed. Didn't even have to touch a single mixer setting.
The mouse...put batteries in the mouse, plugged the adapter into the laptop, wiggled the mouse about...yup, it works.
Dead simple PS/2 -> USB adapter which uses generic USB HID and says on the packet that it works with Linux - not a bloody sausage. Works fine connected to a Windows computer, but not to this laptop or any of my other Linux computers.
I'm going to go buy another one tomorrow, since they're really too cheap to bother fixing. If that one doesn't work either, I'll have a look and see if I can actually figure out what's wrong. Everything LOOKS right - usbhid and usbkbd are loaded, they notice the adapter being plugged in and even seem to create a /dev/input node, but I can't actually TYPE anything.
Still on my todo list are super-smooth display / resolution switching (which is complicated and needs an experimental branch of xorg-xserver which may land in 7.2 if I'm lucky but will probably be 7.3) and suspend / resume, which I hope might be simple. I discovered today by trying suspend to hard disk that the problem seems to be display related. If I suspend either to disk or to RAM, the suspend process goes correctly, then the display (both internal and external) is powered off. When I power the machine up again I hear it doing stuff, but the display never gets turned on. However, what I discovered today is that I can suspend to disk, phsyically remove the battery from the machine, plug it back in, turn the machine on, and it resumes perfectly.
So, yeah. Something to do with powering off the display. I'm hoping I can sort it out with wltool. Will report back.