"yo los for no los uso nunca para una busqueda que acaba antes de llegar al final, los uso para recorrer colecciones completas."
Pero por costumbre/convención, no por otra cosa.
"Aún asi no le veo la relación con la programación funcional"
foreach/reduces/maps, etc. mientras que en funcional poco while vas a ver (si necesitas un while probablemente necesitas recursión/falsa recursión.)
"Os olvidais también de que un while y un for a bajo nivel es exactamente lo mismo"
Nope, lo comentaba justo en el edit xD
"solo que la sintaxis del while está pensada para ser mas "friendly" con el programador (alto nivel)"
IMHO es al revés, el while es el que funciona a bajo nivel (un while en ensamblador funciona prácticamente igual, solo que el while es cond+jmp) mientras que el for es el enriquecido/friendly al juntarte en una misma estructura de control todas las expresiones involucradas.
En definitiva: si necesita condición inicial, condición de parada e incremento... ¿por qué no usar un for?