I can't speak for the "timeout" switch, but "xmllog" was only introduced in v5.x beta versions.
Problems:
1) Using /timeout=<sec> does not set timeout to provided value
2) Specifying /xmllog=<file> does not produce xml log
I am using version 4.3.5 (Build 1463)
Command line:
"C:\Program Files\WinSCP\winscp.com" /script=WinSCP_ini.txt /xmllog=WinSCP_xmllog.txt
---> Does _not_ produce an XML log
"C:\Program Files\WinSCP\winscp.com" /script=WinSCP_ini.txt /log=WinSCP_xmllog.txt
---> Produces a regular log
"C:\Program Files\WinSCP\winscp.com" /script=WinSCP_ini.txt /log=WinSCP_xmllog.txt /timeout=45
---> does _not_ set timeout to 45 seconds. From the log file:
. 2012-02-04 08:03:54.334 Host name: <name> (Port: 22)
. 2012-02-04 08:03:54.334 User name: <user> (Password: Yes, Key file: No)
. 2012-02-04 08:03:54.334 Tunnel: No
. 2012-02-04 08:03:54.334 Transfer Protocol: SFTP (SCP)
. 2012-02-04 08:03:54.334 Ping type: -, Ping interval: 30 sec; Timeout: 15 sec
. 2012-02-04 08:03:54.334 Proxy: none
Cheers - Michael