Oh! Yes I have noticed that if I uninstall the original, it will allow me to upload the new version. This is not ideal however, because I wanted to release my story-based game in chapters - but this means the player has to start from the beginning each time. Although, maybe this isn't so bad.
I'll look into what you mean about the versionCode. I increment the attribute called "version", but have always ignored "versionCode", I assumed that was for apps distributed by Google Play.