When I try to use the shoulder button, it doesn't work unless I press it down pretty firmly, I've tried this in a few games (GBA and NDS) just to make 100% sure it's hardware and not software and it did it in all of them.

I've had a look on this forum and can't find any talk of it before, so I assume it's not at all a common problem, thus won't have a common or easy fix either? Any suggestions on what I could do short of selling it and hoping someone else can fix it? I've got the Tri-Wing screwdriver (somewhere!) btw

First of all, id you try the shock method?
All proof of its validity is anecdotal, but I can personally a test that it has a success rate. Members of GBAtemp reported success swinging/banging their DS's shoulder button on the corner of a table. One member reported the button working after dropping it on the floor (no way I'd do that much).
I suggested it to a friend and a karate chop right to the L button fixed his DS.

This problem has been around since the GBA and Nintendo still doesn't seem to have done much to fix it.

The blow trick and rubbing alcohol thing didn't work for my DS lite, I sent it to Nintendo and got a shiny new one.

Also: If it's a DS lite, be careful with the power and volume switches when putting your DS back together!

Many thanks again for the replies, the blow method definitely didn't work, I didn't try banging it but the DS is currently apart, there's two ends on the spring, and it seems like the one end has to go between two small white plastic holder things; no matter what I try, the metal bit just will not stay in the spring.

Thinking of just selling it on Ebay, the build quality of the DS Lite is absolutely shocking tbh.

When you are saying the "metal bit" is not staying in the spring, is the "metal bit" the tiny rod that loosely holds the spring and the plastic shoulder button together that the plastic button pivots on when loosely attached to the console.

I really don't see how the spring shouldn't stay in place if you have all three pieces, unless the spring is on backwards. And the setup looks fine in your picture unless that isn't your ds. You first want to put the three pieces together then holding the metal rod and the plastic piece at the same time put the button and metal rod in the proper place. Then holding the rod and plastic shoulder button in one hand, gently push the spring so that it snaps in place between the two plastic spring holder connected to the handheld. Once you put the ds back together it shouldn't fall apart.

Okay! I've fixed it, seems to be working fine now, but I'm sceptical about that spring. Reckon I should hold onto it, or sell it now while it's still working but make very clear I've had problems with it?

Many thanks, that was actually what I was doing, and I was mimicking both the opposite side, as well as the setup in the picture above (you're right, it's not my DS btw!) and it kept jumping out, not sure why. Edit; No wait! It's not fixed, sigh