So, thanks to mem on the arduino forum, I managed to figure out the damage to the code:
Fixed! from Andrew Parnell on Vimeo.
What was wrong?
Short version: I was being really wasteful.
Long version: the way the code was written, each LED took a whole byte to assign. With the fixed code, each row takes a byte. (Taking it from 64 bytes per pattern, to 8. Serious savings!)
Code in the comments.

