If you have a pulseIn() set to look for a HIGH, and the pin is already high when pulseIn() is called, does it time the balance of the current high, or wait until a low and start timing on the next high?
It waits for a LOW and times the next HIGH. If the pin doesn't got LOW, HIGH, and LOW within the timeout period a timeout occurs.
I wouldn't expect any worries except possibly dim LEDs. Typically they use 20 mA each for full brightness. If you run them that bright the 25 LEDs alone will take 500 mA which is all that USB can supply for everything. Good thing you are running them on such low current.
If the voltage drop across the LED's is something like 1.5V then 3.5V across the 1K resistor will draw 3.5 milliamps each or 87.5 total. You have close to 400 mA to spare with USB power probably closer to 900 mA to spare with 7V power.
I installed the arduino bootloader atmega32 the problem it's only works once, and then stops working
Usually that means that your auto-reset hardware isn't working. Try holding down the Arduino's Reset button until the "Binary sketch size" message appears and then release the Reset button. If that upload works it proves that your auto-reset hardware is not working.