If you're doing a clue-based game, consider leaving more clues than you think is needed. The reason for this is if the players solve the mystery too early or easily, it can be a let down for you, but it's better than them growing frustrated as they sit in the same dead end for three hours of game time. Better to have an easy adventure than a frustrating one.
Of course, you might worry this will hurt the verisimilitude of the game. What mastermind villain leaves all of these clues behind? The beauty is, once the players pick up one of the trails, they'll follow it and won't look for the others! So far as they're concerned, there only
was one clue, because they stopped looking for the others. So lay down something like three or four clues to get from point A to B. Hopefully they'll find one and end up at B and be all proud of themselves for their detective work.
Also, try not to railroad the PCs too much. These types of story-based games have a tendency to be too linear (A leads to B which leads to C which leads to the climactic fight!). If the PCs find a way to skip from A to C, let them! Be happy that they outsmarted you.
If your players have access to spells and you don't have a deity protecting the info it is as good as theirs. Divination magic kills all suspense and mystery.
This is very true. Also, things like a Paladin's Detect Evil can ruin a lot of mystery-oriented plots.
Depending on the nature of the game, you may want to either do away with alignment, change how it works (make it more subjective, and "action based"), or change how alignment detection works.