Shuffle around some checks for resampling config

BytesPerSample and NeedsResample were getting set when an unsupported
conversion was requests, which resulted in things breaking when the
caller later tried to request unresampled data.