What Kayako isn't telling you or can't figure out. Proceed at your own risk, but it works for me on Win2k3 running PHP4 and Kayako 3.00.90
Step by step (as far as I know):
1) Create a folder somewhere on your drive that will be used exclusively as a *temporary* point for uploaded files. For this guide I'll use c:\php4\uploadtemp. Change the security on this folder to allow Modify, Read & Execute, List, Read, Write for the "Internet Guest Account" (IUSR_YOURSERVERHOSTNAME). Full control will not be needed. You can play with the read & execute/etc for security's sake if you care to.
2) Change the permissions on your (kayako web root)\files and (kayako web root)\cache folder to match the permissions set in step 1.
3) Open your php.ini file, you should have something like the stuff below.
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "c:\php4\uploadtemp"
; Maximum allowed size for uploaded files.
upload_max_filesize = 50M
4) This may not be needed but I found that php doesn't always reload the php.ini unless you restart IIS, so I did that. Attachments outbound from the webpage work fine now (php.ini limit is 50MB, but actually lower due to mail server restrictions).
NOTE: The system default temporary directory for windows 2k3 is usually per-user profile but may also be trying to use c:\windows\temp when running as IUSR_HOSTNAME. The permissions on that folder are per-microsoft and I chose to create the separate folder just to isolate the two. You could probably use c:\windows\temp if you change the permissions there accordingly and skip modifying php.ini, but I can't recommend that.