You should metion which version(s) of KiXtart you are running on the clients, and which version(s) of the RPC service you are running on the login server(s).

As a start, after each "USE", check the value of @ERROR and report an error if it is set.

To reduce the amount of work (and make it easier for yourself in the future) use UDF's for common tasks like drive mapping and updating the message text. This will simplify the script, make it less prone to error and save you a lot of aggravation when you need to make changes.

For example, you could pass the group, drive letter, mapping and display comment to a UDF. The UDF will do the INGROUP check, display, mapping and checking of the success in one neat area.

Something simple like:
code:
Function MapDrive($sGroup,$sDrive,$sUNC,$sComment)
If InGroup($sGroup)
$sComment+@CRLF
Use $sDrive /Delete /Persistent
Use $sDrive $sUNC
If @ERROR
$=MessageBox("Cannot map "+$sDrive+" to "+$sUNC+@CRLF+@SERROR,"Map drive failure,48)
EndIf
EndIf
EndFunction

You can now simplify your code to:
code:
MapDrive("Admitting","S:",$server1+"Admitting","Mapping departmental drive")
MapDrive("AidsCare","S:",$server1+"AidsCare","Mapping departmental drive")
MapDrive("CTS","R:",$server1+"CTS","Mapping additional drives")

And so-on.