This entire IO around the try handler that geneates that error:
pfc::string8 path;
pfc::string8 backup_path;
path = m_path;
path << "iPod_Control\\iTunes\\iTunesDB";
newpath << path << ".dop.temp";
service_ptr_t<file> p_file;
filesystem::g_open_write_new(p_file, newpath, p_abort);
p_file.release();
backup_path << path.get_ptr() << ".dop.backup";
if (filesystem::g_exists(backup_path, p_abort))
filesystem::g_remove(backup_path, p_abort);
if (filesystem::g_exists(path, p_abort))
filesystem::g_move(path, backup_path, p_abort);
filesystem::g_move(newpath, path, p_abort);
Whilst you may not understand c++, that should be vaguely understandable.
There are two possibilities for "Object not found" - it can't find the .temp file it just wrote at the last command, or maybe it can't find the iPod_Control\iTunes directory when opening the file. I don't think it could be the latter however (give you can send a few songs).
Given that it stops at any failure, it doesn't make much sense. But there is not much I can do about it if something is eating my temp files.
Check that your iPod is set up for manual song management. Exit any other iPod software, anti-virus software, etc.
Error #55 is "The specified network resource or device is no longer available." I.e. The iPod was ejected/removed mid-operation. Could be linked to the systray error maybe.
Browse iPod will be blank until you select something in the left list. Did you do that?
Lastly, freezing iPods etc. isn't normal, neither is that error you said turned up. Was the title "Delayed write failure"? Is write caching enabled on your iPod? It can't be good idea for removable device, you should set windows to "Optimise for quick removal". Do a chkdsk on your iPod too. Also check Event Viewer for any errors about your iPod.