When you try to upload a VHD using CSUPLOAD tool, it is possible you may receive the following error:
"An unexpected error occurred: Server operation did not finish within user specified timeout '90' seconds, check if operation is valid or try increasing the timeout."
Here are a few suggestions to solve this problem:
 Please try again later time with the same command that was used before and it is possible the CSUPLOAD recognized the previously uploaded blob, and committed the VHD immediately. This will take a few minutes and your VHD will be ready to use.
 There is also another solution which requires a little configuration change and re upload of the same VHD:
Please edit csupload.exe.config which is located in the same folder as csupload.exe exactly in C:\program files\windows azure sdk\v1.3\bin
Please try chaning the uploadBlockSizeInKb to a smaller value than the default 1024 and also reduce the “maxUploadThreads” value to “1” or lower then default 8 as below:
uploadBlockSizeInKb="1024" ç Change it to 512KB or 768KB
maxUploadThreads="8" ç change this value to 1 (or try with lower values then 8)
In some cases the above steps solved the problem.