777, paradoxically, isn't always writable. Your host may run security software such as suPHP that blocks access to the [world writable] folder (and, incidentally, lets SMF write to the folder with 755 permissions). I don't think that SMF looks at the permissions -- IIRC it actually tries to write. So, a 777 permission will result in a failed write, and the message that it's not writable. Always start with 755 for permissions. Only if you're told that SMF can't write, try 775, and as a last resort, 777. Try to change 777 back to 755 when you're done with your update operation. But first, see if you're missing your temp folder.