This is a question for TeamCity developers:
In TC web GUI, select Agents->Connected Agents. Click on one of the available agents and then "Environmental variables" tab. Find "Path" variable in "Additional variables defined by the operating system and agent runtime" section. The value of the variable is whatever is set for the user's environmental variable Path (this can be found in My Computer->Properties->Advanced->Environment Variables on Windows XP, "user variables for myusername" section). Is this by design or is it a bug?
If I open a command window and type "path", the result is system+user path values, which is what I would expect in TC.
The context that this presents a problem for me is an external software package, which, after installation, added the necessary path to the system Path variable only. Consequently, it did not get picked up by TC agent and caused issues in the build when the build runner could not find that package. My solution was to copy the path to the package to the user environment variable that runs TeamCity, but this is not ideal since I would have to update every agent with this setting.