It wasn't a problem with LimeWire at all. There was a bug in the piece of software that Windows uses to talk to your network card. LimeWire just happened to move data fast enough through your card to trigger the bug.
The way Windows is designed, the software that talks to your network card (called a "driver") runs in a special mode called "kernel mode" or "ring 0" ("privledged mode" in old IBM mainframe terminology). When software that runs in "kernel mode" dies, it almost always takes the entire system down with it.
If you ever have a bug that restarts your whole system, it's almost always a bug in "kernel mode" software or the hardware itself.
You installed a newer version of the software that Windows uses to talk to your network card, thereby getting rid of that particular bug.
LimeWire, and pretty much every piece of software that you think of as a program, runs in "user mode" or "ring 3" ("problem mode" in old IBM mainframe terminology, since problems in "problem mode" can be handled without restarting the system). If software running in "user mode" has a major problem, the hardware automatically switches to some "kernel mode" software that handles the problem, usually by forcing the problematic "user mode" software to quit. When there's a problem with "kernel mode" software, there's usually no piece of software that can fix the problem, so the whole system has stop and be restarted.
There's a design philosophy called "micro kernels" that tries to minimize the amount of software that runs in "kernel mode". In microkernel systems, the operating system talks to the hardware through software running in "user mode". For a brief time, I used a microkernel operating system. It had a very buggy network driver that had major problems about once a day. However, it was a microkernel system, so the driver was running in "user mode", which meant that the "kernel mode" software was able to deal with the problem. The operating system just politely informed me that it had restarted the driver. The only thing I really noticed was that any webpages I was loading at the time had to be refreshed. The operating system was able to keep going because the problem was in "user mode" (or "problem mode") software.
Microkernel systems are generally more reliable than traditional "monolithic kernel" sytems. Unfortunately, it takes a lot of work to make microkernel systems run as fast as monolithic kernel systems.
Windows NT (an ancestor of Windows XP) was intended to be a microkernel system, and Mac OS X is decended from a microkernel system called NeXT Step. In both cases, the system designers later decided to speed up the systems by moving some parts of software from "user mode" to "kernel mode".