@Amalthia & tponzo:
If either of you are willing to try an experimental driver that I think fixes the problem, let me know. I know of no reason why this driver would be worse than the one currently in calibre, and it could be a lot better.
To try it, you must be running calibre 0.7.7. If you are, then download the attached zip file and unzip it to get the file sony_cache.py. Copy this file into your calibre installation. If you are using windows, then unless you have changed something, you will copy the file to
C:\Program Files\Calibre2\Lib\site-packages\calibre\devices\prs505\sony_cache.py
There should be a file sony_cache.pyo already in the directory.
If you are using linux or a mac, you will need to do a bit of pattern matching to find where the file goes. If the file sony_cache.py is already there, please save a copy before overwriting it.
Next, run calibre in debug mode so that we can be sure that the new driver is running and to give me some extra information. To do this, open a command box/terminal and type
calibre-debug -g
There will be stuff printed in the command box/terminal. Connect your sony (more stuff is printed), then add one book (yet more stuff is printed). If the new driver is running, buried in the last 'stuff' printed will be two lines of interest that I want you to post back to me. Samples are shown below. The number after DEBUG: will be different, because it is a time. 'localtime' will probably be GMT. I don't need the name of the book.
Code:
[ stuff ...]
DEBUG: 7.2 Using localtime TZ for new book database/media/books/...
[ stuff ...]
DEBUG: 7.2 Timezone votes: 0 GMT, 165 LTZ
[ stuff ...]
Unplug the device and see if the time to recover has improved.
Please be sure to delete the added file sony_cache.py when you next upgrade calibre (or right away, if it doesn't help). If you don't, strange things could happen.
Edit: changed the driver. There was a problem in the GMT code (that my 300 doesn't use)