Cheech is right, it does only hit the first line..

Code:
on *:TEXT:!riddle:#:{
  var %riddle = $read(riddle.txt)
  if ( $right($readn,1) == 0 ) || ( $right($readn,1) == 2 ) || ( $right($readn,1) == 4 ) || ( $right($readn,1) == 6 ) || ( $right($readn,1) == 8 ) {
    set %answer %riddle
    set %question $read(riddle.txt,$calc($readn - 1))
  }
  else {
    set %question %riddle
    set %answer $read(riddle.txt,$calc($readn + 1))
  }
  msg # Riddle: %question
  .timer 1 10 msg # Answer: %answer
}


^That will work. Riddles need to be on odd numbered lines, and the answers on the even ones after them.