Steven,

To make it a bit simpler to read you could use the CASE statement.

I hope I have interpreted your code correctly!

SELECT
CASE @wksta <> 'test-a' and @wksta <> 'test-b' and @wksta <> 'test-c' and @wksta <> sfu1-018
Call Test.scr
$process_login='n'
?'Dublin Login scripts are NOT run on Test Machines.'
?
BEEP
BEEP
get $t

CASE @wksta <> 'preprod-a' and @wksta <> 'preprod-b'
Call Preprod.scr
$process_login='n'
?'Dublin Login scripts are NOT run on Test Machines.'
?
BEEP
BEEP
get $t

CASE exist ('c:\winnt\canflag.txt')=1
?'Dublin Login scripts are NOT run on Canada Machines.'
?' Please call 4500 for more info.'
?
BEEP
BEEP
get $t

CASE 1
$process_logon='y'
?
?'Processing NT system logon script...'

ENDSELECT


Hope this gives you some ideas.