Esta pregunta ya ha salido antes, y creo que no tiene solución, con DisplayFormat, haces que se muestre con 2 decimales, pero el usuario puede poner 15 decimales, al salir de la celda, incluso se
redondea a 2 decimales, y despues en la base de datos, siempre quedará con 2 decimales.
Por tanto no es un error, y no tiene fallos el tema. Solo es una cuestión de "estupidez del usuario" al escribir 15 decimales cuando solo se le está pidiendo 2!!!. Si te dijera algo el usuario... Un breve comentario (con delicadeza) sobre esa "estupidez" y no volverá a decirte nada
Un saludo