'static' just means that it keeps its value even when the function it is defined in exits. Every caller to the function will be using the same instance of the variable.
I just tried it on an Arduino UNO with:
void loop(){
//blink the LED on pin 13 every 500 ms forever...
timer(500, blinking);
//fade an LED on pin 9 forever...
timer(30, fading);
}
For reasons I explained above the LED on pin 13 never blinked.