I'm expecting some non-numeric values in [QR_FreeText] for [BSU_MarketSector]='M'.
It seems like query optimizer decides to filter on [BSU_MarketSector] [QR_FreeText] first, therewith ignoring the invalid column values of [QR_FreeText].
The article Chris mentioned can be found here.
Use the method described in the article above to find the values that cannot be converted into bigint.