You had duplicate declarations if "i" there. This is a cut-down version:
int LED = 3;
unsigned long interval = 100;
unsigned long lastcheck = 0;
void setup()
{
} // end of setup
void loop()
{
for (int i = 0; i <= 255; i++)
{
if (millis() - lastcheck > interval)
{
lastcheck = millis();
analogWrite (LED, i);
} // end if time up
} // end of for
} // end of loop
Although I must confess that on my test board at least it isn't quite doing what I expect. The duty cycle seems to be jumping in a strange way.