Home rolled gridview search results shows rows that are supposed to be ignored
@Mark is absolutely right. AND has higher precedence, so what your query is really saying is:

WHERE record_number &gt;= 500 AND (column_a LIKE '%something%')

OR 

column_c LIKE '%something else%'

OR

column_e LIKE ...


What you want it to say is:

WHERE record_number &gt;= 500

AND

column_a LIKE '%something%' OR column_c LIKE '%something else%' OR ...


The way you do this is through parentheses. So:

WHERE record_number &gt;= 500
AND
(column_a LIKE '%something%' OR column_c LIKE '%something else%' OR ... )


However I also agree with Mark's idea that this is wrong on many levels. Why have you hard-coded the query to not care about the first 499 rows? What happens if the user doesn't enter a parameter for one of the columns? Do you expect this to perform well when your table gets large and you are essentially forcing scans to find all of the matching rows?