Really nice how you did it. My version was around 80KB with no compression and full PNG based sprites. Though chuck in BASS, and a Vorbis file for music, that pads out to 300KB, including screensaver port.

Making win7 bluescreen is quite a feat indeed, I didn't even know it could do that. Obviously works fine here on my win7 install. The only thing I can think of that could cause such a think is maybe a buggy sound driver that doesn't like non-standard sample rates, but I'm not sure how the conversion is handled after sending the stuff to waveout.

As for the tune being incomplete, yes it is.. But adding more patterns would mean something else has to go if it's going to fit in 1k. The patterns didn't compress too good (48->33 bytes), tried a couple different transforms on the data but nothing helped. The full tune has 2 more patterns (+intro) which would probably add another 40-50 bytes compressed as well as a bit more code. Anyway, it's not like it gets a whole lot less repetitive so I think it's fine :)

As for how it's done in 1k, feel free to load one of the unpacked versions in your favorite disassembler, probably more readable than the sourcecode (which is quite a hacky mess).

With a packer that is adapted for 1k it should be possible to make it a little bit smaller but 512 bytes is not gonna happen ;) Or well, I guess it depends on how much detail you want in it. Removing the music would free up around 120 bytes (less imports, less code, data also becomes more compression-friendly), you could make the entire cat static without tail waggling or moving feet, maybe remove the starfield too, as mentioned in the nfo the sprinkles also take about 10 bytes and can really be removed. I guess as long as it looks like a cat with a rainbow behind it it qualifies as a nyan cat :)
The actual intro code/data are 315/220 bytes compressed, the rest is overhead. Obviously on top of that it's still going to need an import loader+data (it imports 11 funcs from 4 dlls), a decompressor, and a PE header. It'd be fun to know how it would compress with TBCs 1k packer though :) I actually started writing my own 1k packer using the zlib functions in d3dx9_30.dll (worse compression than crinkler, but less overhead) but as it turns out crinkler really made a huge difference for compressing the data, about 100 bytes smaller, so I decided it would probably turn out to be not worth the effort, so I just used crinkler instead.

That 1025-1 catfight:-D Brilliant release and details so openly given in the readme. Doing an animated sprite like that and a tune such this with only few bytes is almost impossible, but you proved otherwise.