I'm not positive (been a while since I've done this), but I believe you need to make sure the task has a default timeout value set in the wft before you can use the SetTimeout() function to adjust the timeout for the task.