Right, you are better off storing it in a temporary variable if you're going to use a return value more than a couple times.
To expand on what Digby said, it simply makes sense to determine what conditions are most likely to cause the whole expression to fail. If you want to get very nit-picky, note that you check X first to make sure it is in range. Well, on a Pocket PC there are 33% "more" Y values than X. So assuming we're talking about square regions (on average), you should check Y first, as it has a higher probability of falling outside the range.
Dan East