as for the date you have to make it in the correct format, I was just typing in an option to use...
I try to avoid converting in the select expert but that being said you do not have to use quotes in the param entry. If you do it will think that is part of the string and not match it.
If you are not allowing for multiple clientcodes selection I would convert the other direction (if multiple selections are allowed it will not work due to an array error).
You will get better matching results matching numbers thatn strings. If you go with a string a user typing in 1,200 will not match 1200 or you can tell users to use 0 (zero) for 'all' and avoid conversion...
{?MajorClientcode} = 'ALL' or {Query1.Parentclientid} = tonumber({?MajorClientcode})
The zero as all option would be changing {?MajorClientcode} to a number type and then:
{?MajorClientcode} = '0 or {Query1.Parentclientid} = {?MajorClientcode}