Olvidas que delphi, por supuesto, soporta el polimorfismo, que de hecho, es la base de gran parte del funcionamiento de la VCL.
Al declarar el método "puedo_cerrar" como virtual en la(s) clases base, y declararlo como override cada vez que sea necesario redefinirlo, garantizas que cualquier llamada al método se resuelva correctamente en tiempo de ejecución, aún cuando se realice sobre un "molde" de una clase ancestro.
Ahora, veo otros dos problemillas de concepto.
Uno, que para el cerrado de formularios, ya la VCL provee del evento OnCloseQuery, que podrias definir en tus clases. Cuando una aplicación MDI intenta cerrarse, ejecuta el evento en todos los formularios hijos.
Dos, que si tenes ya una estructura de herencia visual, y en ambas formas "base" has declarado el método "puedo cerrar" (y estoy seguro que algún otro)... quizas tu jerarquia merezca una "reingeniería", y estos métodos sea introducido en una clase base para ambas clases actuales, de manera que en casos como este (que espero que cambies por el CloseQuery ya mencionado) podas echar mano de esta clase base.
Hasta luego.