Hi,
Have you resolved your problem? If not, try to change your scratch folder to a different place on Desktop when running your script tool. sometimes the default folder in the User directory has permission issue.
You can also use model tool, but I am not 100% sure if it works if you are using web app as Client. Give it a try anyway. You can use Calculate Value with absolute path (String data type) of the shape file as the input. Then use Copy Feature to copy the input file so Server will save the uploaded input shape file in the scratch gdb, and finally do the Buffer or any other Analysis with the uploaded file.
I attached two gpk files for your reference - calcbuffer100.gpk (for 10.0 Server) and calcbuffer101.gpk (For 10.1 Server). Both models are almost the same, except in 10.1 model you have to set the output of Calculate Value as an output parameter, otherwise you won't get the input shape on the server. I have to figured out if this is a bug or as design. Let me know if this helps.
Best,
Shing