One VC product I've seen that uses an RCS-ish back end handles binary files
approximately as follows:
At the time they are created in the database (repository), they are examined for
a presence of certain nonprintable ascii characters. If these are found,
the file is marked in the database as binary and handled as such from then on.
It's not perfect, but works right about 99.9% of the time without the user
having to explicitly specify binary/text. Diff and merge are still available,
and fail on some binary content, as they probably should. So the concurrent
editing part is lost for binaries (not that I've ever team-edited a gif
file), but at least the central repository and versioning remains.
I agree with someone's observation that most projects are no longer pure