No puedo probar por mi cuenta en este momento, así que te pido que lo hagas.
Tal y como tenés esa regla:
redirectMatch 301 ^/\?a$
http://localhost/funciona
probá escribiendo
http://localhost/\a http://localhost/a
si ambos casos son redireccionados a "/funciona", eso indica que el ? está siendo tomado como metacaracter en vez de como un ? "literal".
Saludos.