In most recent versions of Windows (notably Windows 2000), the BSOD is caused by faulty drivers, rather than faults in shipped kernel space. Anything that chokes and dies inside of Windows NT Kernel Mode will cause the BSOD. Unfortunately in Windows 9x, the kernel mode was a lot less protected, and things could quite easily muck with kernel space.

That is why a WinNuke would blue-screen you. Your network stack runs (for performance and kernel construction reasons), inside of kernel space. If you overflowed that, it would throw a BSOD and report the faulty module.

Similar to this is a Unix Kernel Panic, where the kernel cannot recover from such errors. Keep as much out of your kernel as humanly possible, for those reasons alone.