Java + SQL
Creo que esto coincide mejor con el objetivo de la pregunta, es decir, la rotura involuntaria.
Digamos que esta es una aplicación para un registro de nacimientos, donde registran a los recién nacidos en una base de datos y emiten certificados de nacimiento. Algunos "genios" diseñaron la tabla de esta manera:
CREATE TABLE birth (
year CHAR(2),
month CHAR(2),
date CHAR(2),
surname VARCHAR(50),
...
)
Y la aplicación de Java para registrar nacimientos tiene un código similar al siguiente:
public void recordNewBirth(...) {
...
executeQuery("INSERT INTO birth VALUES(?, ?, ?, ?, ...)", date.getYear(), date.getMonth(), date.getDate(), surname, ...);
}
Luego, el INSERT comenzaría a fallar en el año 2000 y ya nadie podría obtener un certificado de nacimiento. Motivo: java.util.Date # getYear () devuelve el año menos 1900, que tiene 3 dígitos a partir de 2000.