After a bit of testing, this is what I've found:
GetJournalIndex, "A1_Dreams" returns the
current journal index for that topic. This is 0 by default.
SetJournalIndex, "A1_Dreams", 5 sets the journal index to 5, regardless of its current value.
Journal, "A1_Dreams", 5 sets the journal index to 5
only if its current value is below 5.
So in a test scenario, after starting a new game:
GetJournalIndex, "A1_Dreams";Returns 0Journal, "A1_Dreams", 10GetJournalIndex, "A1_Dreams";Returns 10Journal, "A1_Dreams", 5GetJournalIndex, "A1_Dreams";Returns 10SetJournalIndex, "A1_Dreams", 3GetJournalIndex, "A1_Dreams";Returns 3;Even though there is no entry at index 3 
Saving, loading, or restarting the game doesn't seem to affect the results for me at all, contrary to the behavior descriped in the Morrowind Scripting for Dummies.
So GetJournalIndex either returns the highest index in the topic, or the last one it was set to. In neither case can it be used for checking for specific journal entries. :wacko: