In reply to Ksharp.

These two procedure estimate different quantities. PROC CORR assumes that the variables are continuous. It estimates the Pearson correlation between the 5,199 pairs of nonmissing (weight,height) values.
PROC FREQ assumes that the variables are ordinal. The height variable has 87 categories. The weight variable has 177 categories. If you assume that these ordinal values are a discretization of latent bivariate normal continuous variables, then PROC FREQ tries to find the correlation between the latent variables.

Regarding the confidence intervals, they are also different. PROC CORR uses the Fisher z-transformation and an assumption of bivariate normality to estimate the standard errors. PROC FREQ uses the Hessian of the log-likelihood function at the optimal parameter values.

As to which is correct, I would use the PROC CORR results because the variables are continuous, not ordinal.