just updated to 4.3 and have had no end of issues with this MTP problem. I have searched for weeks for an answer and nothing worked that was suggested. I think I have done like 10 - 20 factory resets on this F%#*ing thing, and it was never the phone's problem in the first place, definitely a Windows problem in my case.
I tried a combo of things for my last try right this very minute and I have success.
I searched for the MTP driver in the registry. Note: Make a backup....I didn't I f*%#ing hate this piece of sh!t so I went ahead and deleted it. You can do as you please though, I am mighty angry so I didn't care.
Instead of looking for upper filters I removed it totally
I had to change permissions on that object to do so, then inside permissions take ownership and tick child keys and subkeys
Uncheck inherit from parent
If it pops up a dialog pops up choose add from the options
You will have to do this for several tabs in this permissions of the registry. Once you delete this, unplug your phone and plug it back in again. You will get the warning of failed MTP drivers as I did.
Now go to Device Manager and instead of uninstalling the failed MTP driver yellow Icon, this time scroll down a little further to another section that says ADB Device. (See attached picture Fix_MTP_Error1.png)Now click uninstall on that driver, check the box that says "Would you like to delete this driver" click yes. Let it remove.
When it is removed a Windows pop up Warning appears telling you you need to reboot. Don't reboot. ignore it. Look down at the system Tray and you will see your little installing driver swirly thing doing it's business for once.
When it finishes, Open explorer and you will notice another thing different. Your device will be sitting in My Computer, however it will have a new Icon and it will now say Portable Device and NOT the device name like GT-I9305 in my case (See attached picture Fix_MTP_Error2.png)
At this point I clicked on it anyway cause it obviously registered something, right?
Yoooou beauty!!!!!!!!! Hoooraaaaaaah Merry Christmas too me! Merry Christmas too me!!!!
What you will notice however is that the name that you thought disappeared is still there as the device label when you check in the address bar
See attached picture Fix_MTP_Error3.png
Edit: By the way, the device name I just noticed now corresponds to the name that is put in as the name of the device when you are in the setup wizard when you first boot up; unlike before it retained the same device name as 4.1.2 just plain GT-I9305 and no full device name, I called mine James' GT-I9305