I am having the exact same problem, so I checked out the latest 2.4 stable from SVN and tried that. No luck :(
My server has the open_base_dir thingy enabled (with PHP 5.2.14), so that might be causing the problems here since the files are being placed in my silverstripe-cache folder, but they aren't being moved to the assets folder though.
What are the exact patches one have to make in order to fix this issue? I've seen a lot of patches but which one is the best?
If you can disable open_basedir in your PHP-configuration you will be able to use the latest stable release of SilverStripe without modifications.
If not, you have to patch it, I recommend that you try [url=http://open.silverstripe.org/attachment/ticket/5547/2.4.1-FileUpload-2.diff]this patch[/url], it removes the unnecessary open_basedir hack/handling in AssetAdmin, which should solve your problem.
Unfortunately I'm unable to disable open_basedir since I'm on a shared hosting platform.
So I tried the patch, now I'm getting closer to getting it to work.
Now I'm getting a webpage error:
[Warning] move_uploaded_file(/home/cyberde/public_html/www/assets/Downloads/testfile.txt) [function.move-uploaded-file]: failed to open stream: Permission denied
Line 248 in /home/cyberde/public_html/www/sapphire/filesystem/Folder.php
Update Okay, I'm going to kick my own ass right now. After numerous checks I finally found out that the permission of a subfolder was set to 775 instead of 777. Pretty stupid!