Modifying Auduino Code: Wrestling with RAM

New features, new set of issues. I've gotten myself an RGB 16x2 character LCD from Adafruit, and I've attempted to combine the sketch from adafruit's tutorial with my own. Before making the LCD do anything useful, I want to make it play nice with what I've got.

Here is Adafruit's tutorial code: Adafruit's tutorial: http://learn.adafruit.com/character...gb-backlit-lcds

Here's what my code currently looks like: Auduino RGB LCD - Pastebin.com

The LCD seems to work exactly as expected, but the Auduino doesn't work. I'll get a seemingly random tone, that holds steady and changes to a different tone every time the RGB on the LCD cycles back to blue.

Both my Auduino sketch, and the sketch from the tutorial work correctly independently of each other, so I know its not my wiring. After spending an afternoon fiddling with the code I've determined the issue is caused by the PWM section for the backlight in the loop.

for (int i = 0; i < 255; i++) {
    setBacklight(i, 0, 255-i);
    delay(1);
  }
  for (int i = 0; i < 255; i++) {
    setBacklight(255-i, i, 0);
    delay(1);
  }
  for (int i = 0; i < 255; i++) {
    setBacklight(0, 255-i, i);
    delay(1);
  }

For some reason this is interfering with the interrupt. I assumed at first it was the delay causing my problems, but according to the arduino knowledge base, delay does not affect interrupts. My working hypothesis now is that I've run into an issue with the UNO's timers. Before I go and upgrade to a more expensive board I was hoping someone could take a look and see if they know a way around this.

In case anyone was wondering, yes I want to make my LCD rapidly change colors in a seizure inducing fashion... the case I've got designed for this is really colorful. I want the thing to look fun and inviting to play.

EDIT - OK... so if this is some sort of hardware limitation issue (and I'm thinking that's the case) I'm just going to program a second AVR chip to handle just the PWM. That way I can be sure it's not eating up cycles or messing with the synthy goodness. I've already got to run a power circuit to run the arduino and my echo board, so it won't be a big deal.