Why would all the tests for normality reject the null hypothesis? The Kolgomorov-Smirnov test, Shapiro test, etc.... all reject the hypothesis that a distribution is normal. Yet when I plot the normal quantiles and and histogram, the data is clearly normal. Maybe because the power of the tests are high? 
The sample size is around 650. So shouldn't at least one of these tests fail to reject the null hypothesis?
Results:
           Kolmogorov-Smirnov    D          0.05031          Pr > D       <0.010
           Cramer-von Mises      W-Sq       0.30003          Pr > W-Sq    <0.005
           Anderson-Darling      A-Sq       1.66965          Pr > A-Sq    <0.005
           Chi-Square            Chi-Sq  3250.43596     18   Pr > Chi-Sq  <0.001

 A: This doesn't surprise me --- with a large enough sample size, any good test should reject the null hypothesis, unless the data generating distribution is truly (and exactly) normal.  
With hypothesis testing, one is usually interested in finding a "powerful" test, which is a test that can find very small deviations from the null hypothesis, with as little data as possible.  
Try running the test with a subsample of size 20, 50, 100, 200, and see at what size the tests start rejecting.  It's easy to see whether a histogram is symmetric and generally bell-shaped, but the tails of the distribution are harder to assess by eye.  Perhaps there are outliers in the data that are causing the tests to reject?  If there are, see what happens when you prune them out.
A: The probable cause is that your data is very slightly non-normal and your sample size is big enough to reveal this.
If the distribution truly is normal then it should usually pass these tests, as in the following R example where all but one of the tests are passed.
> require(nortest)
> 
> set.seed(1)
> dat <- rnorm(650,mean=100, sd=5)
> 
> ad.test(dat)

        Anderson-Darling normality test

data:  dat 
A = 0.439, p-value = 0.2924

> cvm.test(dat)

        Cramer-von Mises normality test

data:  dat 
W = 0.0882, p-value = 0.1619

> lillie.test(dat)

        Lilliefors (Kolmogorov-Smirnov) normality test

data:  dat 
D = 0.0334, p-value = 0.08196

> pearson.test(dat)

        Pearson chi-square normality test

data:  dat 
P = 37.96, p-value = 0.035

> sf.test(dat)

        Shapiro-Francia normality test

data:  dat 
W = 0.9978, p-value = 0.5186

> shapiro.test(dat)

        Shapiro-Wilk normality test

data:  dat 
W = 0.9981, p-value = 0.675

You might want to do a qqplot and if this is close enough to a straight line then you may decide to treat it as being close enough to normality for your purposes.  It rather depends on what those purposes are.
A: Let me disagree with the answer from dsimcha: "Normality testing is a waste of time and your example illustrates why.". Normality testing is never a waste of time, you can always learn from your data. Furthermore, there are some condition you must test before performing some analysis (i.e. ANOVA, regression, etc.). Relative large sample sizes are better to be tested with plot (QQplot, histogram). In such cases, visualization give much more information about multimodal behavior and so on. 
ANOVA and regression are robust to non-normality when dealing large sample sizes but the main type of data that cause problems is multimodal data samples.
With small sample size the Kolgomorov-Smirnov test is the best option mainly due to its sensitivity. 
A: Normality testing is a waste of time and your example illustrates why.  With small samples, the normality test has low power, so decisions about what statistical models to use need to be based on a priori knowledge.  In these cases failure to reject the null doesn't prove that the null is even approximately true at the population level.
When you have large samples, normality tests become ridiculously powerful, but they don't tell you anything you didn't already know.  No real quantity is exactly normally distributed.  The normal distribution is just a mathematical abstraction that's a good enough approximation in a lot of cases.  The simplest proof of this is that there is no real quantity (at least none that I can think of) that could take any real number as its value.  For example, there are only so many molecules in the universe.  There are only so many dollars in the money supply.  The speed of light is finite.  Computers can only store numbers of a finite size, so even if something did have a support of all real numbers, you wouldn't be able to measure it.  
The point is that you already knew your data wasn't exactly normally distributed but the normality tests tell you nothing about how non-normal the data is.  They give you absolutely no hint as to whether your data is approximately normally distributed such that statistical inference methods that assume normality would give correct answers.  Ironically, common tests (e.g. the T-test and ANOVA) that assume normality are more robust to non-normality at large sample sizes.
A: I'm going to disagree slightly with the other answers posted so far: these tests for normality have notoriously little power, even with relatively large sample sizes, at least for certain kinds of deviations.
Here's a quick example.  I generated a mixture of two normals whose means are separated by a whole sd.
set.seed(1)
reps = replicate(
  10000, 
  shapiro.test(c(rnorm(325, mean = 0), rnorm(325, mean = 1)))$p.value
)
mean(reps < .05)
[1] 0.0525

Considering that it would "detect" deviations from normality 5% of the time even if it were truly normal, that's not very impressive.
Here's another example: I add uniform noise across a range the size of two standard deviations.  This one is quite visibly non-normal.
set.seed(1)
reps = replicate(
  10000, 
  shapiro.test(rnorm(650) + 2 * runif(650))$p.value
)
mean(reps < .05)
[1] 0.0523

Again, extremely low power for a pretty big departure from normality.
Are you sure you're reading the qqplot correctly?  Could you upload it so we could see it?
Edit on the other hand, regression is fairly robust to non-normality, so I'd agree that visual inspection is likely to be enough for most purposes.
