- Use [spaceline][10].

 Basically it's built on top of `powerline` and let you build your mode-line by adding several segments one after the other (in both left and right sections).

 For instance, the following segment: `(major-mode :face highlight-face)` will insert the current major mode and apply a special face to it. This face `highlight-face` changes following several criterias. You can customize `spaceline-modified`, `spaceline-read-only` and `spaceline-unmodified` faces to fix your issue.

- If you still want to use `powerline`, you need to do what `spaceline` already does. That is to check for buffer status and apply the face you want. See `buffer-read-only` and `buffer-modified-p`.

[10]: https://github.com/TheBB/spaceline