Hope you use a script trigger on your value list formatted field to perform the script as it assumes that the focus is in a specific field at the time that the script is performed.
This step is incorrect:
Set Field [ Projects::__fkClientID; Projects::__fkClientID=$Var2 ]
Change it to:
Set Field [ Projects::__fkClientID; $Var2 ]
A value list of client ID's and client names could enter this data directly into Projects::__fkClientID without use of a script. But I also realize that for large lists of names, the lack of auto-complete for such a value list makes it less than ideal to use. But your script also makes no provision for the fact that you might get two clients with the same name.
You might find the scripts in this demo file to be of interest. It uses a relationship to find the ID of the selected name and includes code that detects and correctly handles situations where you get two individuals with the same name:
FileMaker 12 users: https://dl.dropbox.com/u/78737945/SimpleNameLookupDemo.fmp12
Pre FileMaker 12 Users: https://dl.dropbox.com/u/78737945/SimpleNameLookupDemo.fp7