Cita: Las ventanas y el comportamiento que se utilice para hacer los varios "mantenimientos" de alta, baja y modificaciones deberan ser reutilizables. NO se podra construir varias pantallas que hacen lo mismo repitiendo el codigo. Este punto es determinante para la calificacion final
En realidad ese es el estandar que se debe seguir para creacion de cualquier sistema. A menos que sea estrictamente necesario crear alguna otra pantalla para realizar funcionalidades distintas. De esta necesidad nacieron precisamente tantos conceptos que existen: clases, herencia, polimorfismo, POO, etc.
Cita: Suponemos que es con el uso de herencia , heredando todos los form de un form generico en el cual exista metodos para listar y el cuerpo de los botones, pero mas de eso no entendemos bien.
La idea va por ahi. Podrias declarar una variable tipo publica en tu formulario y setearla de acuerdo a la funcionalidad que decidas darle al form y dependiendo de ello setear controles, variable internas, etc. Bien tambien podrian tener controles agrupados, y dependiendo de la funcionalidad, mostrar tales o cuales controles para distintos procesos.
Espero haberlos ayudado.