Perche' mai dovresti inserire il testo con nl2br() nel database scusa?
Salvalo esattamente come viene scritto, poi all'atto della visualizzazione fai nl2br(), mentre in modifica lo lasci come e'.
E' sbagliato come concetto fare il nl2br() del testo prima di mettere i dati nel DB.
Se proprio vuoi comunque mantenere il tuo approccio.. basta che sostituisci '\n' con "\n". Gli apici singoli disabilitano il parsing delle variabili stringa.