Hola,
Bueno. Estamos hablando de que es sintácticamente un error tratar de hacer lo que dices. Es decir, el compilador no toleraría esto:
Y cualquier otra cosa pasa por un valor válido, sea este o no el determinado "por defecto" para el parámetro. Ya digo, no sé explicarme, pero, me parece algo de cajón que no funcione el asunto tal como quieres.
Ahora bien, contar con la posibilidad de establecer parámetros opcionales... podrá venir bien en algunas ocasiones, podrá no ser recomendable para otras... como suele ocurrir: no es el cuchillo el que mata.
Personalmente, encuentro la posibilidad de establecer parámetros opcionales una buena cosa. Puede ser útil no pocas veces, incluso con sus limitaciones, si quiere verse así.
Por cierto, en PHP, por ejemplo, el modo de tratar los parámetros opcionales es igual que en Delphi. E intuyo que no puede haber mucha diferencia con otros lenguajes.