I suggest using setSkinName() for this. Uh, I'll look up how it works, I've used it before, for some money items and an animated texture on the back of a static shape rocket booster.
Ok, so the function is staticShape.setSkinName("name");
The name refers to part of a file name. This was used for the clock in Map_Kitchen, and I kept it when I ported the map to v21. If you look at my port in Map_Kitchen/addobjects/*.png, you'll see 3 files: base.LCD.png, blue.LCD.png, and green.LCD.png. On the range clock number models, the texture for the numbers is "base.LCD". When I use setSkinName("blue"), it swaps base.LCD for blue.LCD.
So what you'll want to do is to set the material for the screen to "base.TV". Then add "base.TV.png" and "static.TV.png" to the folder with the .dts.
From there you can use schedules to swap between them using setSkinName();
Important
If you're going to use this in a multiplayer game, you must force the extra images into the file manifest. This can be done by adding extra faces and materials to the model. So add a square somewhere obscure and give it the material "static.TV", and then add another square and add "face.TV" to that. In this way Blockland knows that it should look for, and add these images to the file manifest. Without it, clients will not download the images, and will just see a blank white image.
For the light bulb, I'm fairly certain setting that material to "Shadeless" will make it glow.
For the death stuff just look at the script files for the original map. It's probably doing it using a trigger zone and a list of messages.