"Set on boot" quiere decir que al reiniciar el teléfono aplicará esos settings de nuevo. Es decir, si en setcpu pones máximo 800 Mhz y reinicias, volverá a activar los 800 Mhz, si no marcas "Set on boot" pondrá el valor por defecto 1Ghz.
No hay problema en usar setcpu. Lo que debes usar con cuidado, lo que causa problemas, son los Perfiles de setcpu. La verdad es que hace mucho que no los uso porque en algunos kernels aumenta el consumo de batería. Recuerdo que a Cyanogen y roms basadas en Cyanogen no le sienta nada bien los perfiles de setcpu (produce cuelgues y reinicios)
Sobre la configuración para optimizar la batería: últimamente estoy más "entretenido" con rendimiento. Lo clásico en Setcpu es tratar de bajar un poco el voltaje, aunque puede producir inestabilidad y cuelgues. Te vale la pena probarlo.
Una de las novedades recientes que más ahora la batería cuando el teléfono no está en uso es DeepIdle (un estado de la CPU de bajo consumo de energía). Puedes usarlo según el kernel (Matr1x, Francisco Franco o Glados). Puedes usar NSTools para activar verificar que DeepIdle está en uso.
PS: Lo de Francisco Franco no es coña. Es un dearrollador portugues, muy bueno, por cierto, que se llama así. En Portugal el apellido Franco es más común que en España -conozco un par de Franco's portugueses)
Edit: PS2: NSTools aplicación gratuita disponible en el market.