The Mediafile uploader usually is to specifically upload the file. I'm trying to think if you just capture their local path, in the response could you pull from it, and i have a feeling you can't.
There may be a better answer, but one solution would be to allow them to upload a file to a temporary folder on the site, using the media uploader or similar tools, and then use the OnAfterSave instead of before save to capture the file's information, and use the API to put it in the correct location and delete the old.
My guess why the value is empty on the OnBeforeSave is because during the save (not before) it probably does the file upload, then returns the local site path.
Hope that helps some!