Hi Noel,
From my tests, this is because the SQL parser cannot use parameters from more than one query. So, you have to combine your queries as something like this:
SELECT @Start = TS.[Year], @End = TE.[Year], @CustomerCode = TC.[CardCode] FROM OACP TS, OACP TE, OCRD TC WHERE TS.[Year] = [%0] AND TE.[Year] = [%1] AND TC.[CardCode] = N'[%2]'
Regards,
Eric