Is the "-re" supposed to be silent in the pronunciation of the word macabre? I'm aware that dictionaries give two pronunciations, \məkäb\ and \mekäbrə\, but is one of them just a fixed "error" of the other, when the loan word from French was first imported? In other words, which pronunciation is more historically true?
They are equally accurate Anglicized versions of the French word. Macabre is basically pronounced [makabʁ] in French, where /ʁ/ is a voiced uvular fricative. The closest sound in English is, of course, /ɹ/ (the "r" sound, hereafter written as r).
Note that there is a [bʁ] sequence at the end of the word. This [ʁ] is basically stranded at the end of the word, with no real vowel connected to it. This happens because French "e" gets deleted in many contexts (or some might say "swallowed"), including word-finally. So "macabre" in French is pronounced basically like [makab] followed by a fricative-ʁ sound, with no "e" vowel sound after it. To a non-native speaker, the "r" sound at the end might not even be noticeable.
We don't have anything quite like this in English, so essentially we have this "illegal" word-final [br] consonant cluster. There are two common ways to repair an unpronounceable consonant cluster:
This gives us the two pronunciations we see for this word.
The "e" is pronounced in a schwa type of way, and the 'r' in a rhotic type of way, the way you say 'r' in "hard". The 'r' isn't pronounced the way you say "rim".