Neither of your two proposals about Moat are correct. The rules are unambiguous about how Duration–Attacks would interact with Moat.
1. Opponent plays Duration–Attack during his turn.
2. You reveal Moat; the this-turn effect of the Attack does not affect you.
3. Later, you play your turn, discarding the Moat.
4. The next-turn effect of the Attack also doesn't affect you, because you revealed Moat when it was played.
The problem is remembering, when (4) comes comes around, who revealed a Moat back at (2). But there's no other way to interpret the cards and rules.
Lighthouse is a little more ambiguous: Moat says "you are unaffected by that Attack", which clearly includes any future effects, but Lighthouse says "when another player plays an Attack card, it doesn't affect you", which might mean that effects of an Attack card that take place at times other than when it's played aren't blocked, but could also be interpreted the same way Moat is.