right, am awake now :o
when we night weaned DS, we had a rough idea of when he was waking - so he was going to bed at 8p, then waking at 10, 11, 12.30, 2, 3, 4, and up for the day at 5 (he was a bit older than your DS at the time btw, but the principle is the same).
We decided the 12.30 feed needed to go, so the first night when he woke at 12.30 (ish) we offered him water, and then DH or I rocked him back to sleep, then inevitably fed him at 2 when he hadn't slept. Took a few nights, but he stopped waking at 12.30 after a while. Then we targeted the 2am feed. And so on.
He wasn't sleeping through the night until he was 3.3 (3 months ago!) and all his teeth were in, and the recurrent ear infections seem to be under control now - but we got him to start sleeping the odd 4-5 hour chunk, and got regular day time naps established once night weaning was underway, which made us both feel a whole lot less murderous. It also meant DH could deal with him better, as he could be offered water rather than having to be latched on to me - previously, I had always always fed him to sleep.
We co-slept with him until he was about 18 months too, just to get some sleep - there is nothing wrong with doing so, and if it is the only way he sleeps, then co-sleep.
I didn't find NCSS any good for us, because it was too wordy - I needed short and sweet solutions after so little sleep for so long! I found 'teach your child to sleep' by Millpond was a good read, and has lots of different scenarios and easy to follow solutions - ranging from cry it out, to gradual withdrawal. Gradual withdrawal was what worked for us in the end, when we trained DS to go to bed without being cuddled. Took a couple of months, but well worth the effort.
Anyway, there is no need to stop bfing - we kept going until DS turned 3, but he was only on 1 feed a day by then (for about 6 months!).
best of luck :)