I spoke too soon. I've now got the weirdest problem so far.
I'm using Windows 7, 64-bit, with SP1 installed.
I put GoldenDict-1.5.0-RC-170-g7d167ae-full-gcc_4.8.1 on to my hard disk, but configured it to run portably, so it is entirely self-contained. It runs perfectly there, including in Russian.
I then copied the whole thing on to a stick. If I run it portably from there, it works correctly in any language that uses the Latin alphabet.
If I select the "Russian" Group and type the word "house", it correctly shows various dictionaries containing the word "дом".
However, if I click on any instance of the word "дом" in any of the dictionary entries that are displayed, it immediately crashes, with this message in a temporary file called qt_temp.Hp5988 (no suffix):
"GoldenDict has crashed with an unexpected exception.
Exception: Iconv::exIncorrectSeq
Message: Invalid character sequence encountered during character convesion"
{Note the spelling mistake in that last word: that might make it easier to find.}
The same thing happens if I type the word "дом", and also if I type the word "dom" in Latin letters and let the transliteration routine display "дом".
It correctly translates any number of words from English to Russian, but the first Russian to English operation crashes it.
I switched off the Russian transliteration: same result. I conclude that the problem does not lie in the transliteration routine.
I borrowed a different stick, of a different make and age, and put it into a different USB slot, with a different drive letter, and repeated the whole process. Exactly the same errors happened, in exactly the same way. I conclude that this proves that the stick is not at fault.
Neither stick was full: both had at least 2GB of free space, and neither held any other program that was running at the time.
I removed some of my favourite dictionaries, i.e. those which usually come top of the list, and especially the one that always comes top of the list when I type "house". The problem occurred in exactly the same way. I conclude that the dictionaries that I removed were not at fault.
I replaced the AFF and DIC files for Russian: same result.
I changed their names, so the renamed (and now unused) files occupy the same physical space in the device, and I then copied the original AFF and DIC files again, so they are in a new physical location, but in the same directory. Same result. I conclude that the problem is not caused by those files sitting on a bad bit of the device.
It's the wrong end of a long, hard day, and am probably missing something really obvious and wasting everybody's time. If so, I apologize. Advice would be very welcome.
I'm baffled by these questions.
1) Why does the program work *portably* perfectly normally when it is on the hard disk, but crash in this way when it is on a stick, even though exactly the same program files are running exactly the same dictionaries with exactly the same configuration?
2) Why does this happen only when it is trying to translate from Russian, i.e. using Cyrillic characters as input?
3) Am I going mad?
Actually, I might have the answer to that last one ...

Alec.