Now I noticed that it introduces inconsistency, but due to a second problem - that grep prints lines even when there were no matching strings. For example if I run:
$ echo "a" | grep -E "{1,3}"
$ echo "a" | grep -i "\a"
then it returns the string "a" even though it doesn't match anything. With my patch it correctly does not print the string but I think for consistency it also requires adaptations in case --color was not passed. I'll try to work on that.

Best regards,
Tomasz Dziendzielski