A melhor razão para não hackear o core é que o que você está fazendo deve ser retrabalhado como um patch para o core!
Obviamente, TODO o seu código não seria um bom patch, ou pelo menos raramente o faria. Em vez disso, você precisa descobrir qual gancho (ação ou filtro) está faltando no núcleo que permitiria que você faça o que for necessário sem invadir o núcleo. Nós não precisamos hackear o núcleo quando existem filtros / ações adequados, então encontrar o que falta é sempre remover a necessidade de hackear o núcleo.
Isso pode exigir muitas vezes uma resolução de problemas difícil e trabalhos complicados, mas com mais frequência, o que acontece é que você descobre que já existe um gancho para resolver seu problema , para que você não tenha para cortar o núcleo!
No raro cenário em que realmente não há gancho, você só precisa postar no trac explicando por que seu gancho precisa existir. Se você receber o seu novo gancho, então você tem um corte temporário de 1 linha para o núcleo que não precisa se preocupar com a próxima vez que você atualizar.
Mesmo que você não consiga fazer as coisas no Core trac (é preciso convencer algumas coisas), você ao menos reduziu seu núcleo ao mínimo possível: 1 linha de código para sua ação / filtro. Quando você atualiza o WP, você já substituiu todo o código que você colocou no núcleo com uma linha que precisa ser atualizada, e seu plugin pode permanecer o mesmo!