Another possible solution is to verify the skin's legitimacy on first load, then cache it locally on the client, which would also help with the significantly increased bandwidth consumption in the Spawn Player (0x0C) packet caused by the skin data being resent EVERY time a player comes into view, not just when they first join.
I can confirm that it's fixed from my end. Thanks! 🙂
Out of the 3.1mil users in our DB, these are the ones affected (outputted from an implementation of the Mojang AccountsClient):
[2014-03-26 06:38:01] [INFO] UUID Migrator booting up.
[2014-03-26 06:38:03] [ERROR] Multiple records found for tww1400: 578d5a93f88f41fa8f0c300028b0e25a, 61ce21daa0bb4f5a9ace82d27ce88f13, f9dc1522847c4a078fafe89f170789c5, e6c9e6e1583842c7bc8c8205be3f6609
[2014-03-26 06:38:03] [ERROR] Multiple records found for chicken_cream: 0e5962a9fd7a4f2d90b1b8d9d324dd9b, caf5e547413b4496a2673446eaf852b1
[2014-03-26 06:38:04] [ERROR] Multiple records found for kill3rben: 600b6e9c32574ac48725a9d4d337f498, df2439d6ae3f4f58b0e51ce5c1be8d51
[2014-03-26 06:38:05] [ERROR] Multiple records found for voilled: 44581a559ea04bcd802e0ac336ac9fe2, cad7f3b38e3340b8ab657863cb92a6cd
[2014-03-26 06:38:07] [ERROR] Multiple records found for majcake: 19969dac06c24476860fa765d36f2f8e, 13c692c042644943a906fedae7301e1a
[2014-03-26 06:38:07] [ERROR] Multiple records found for goldenapple1018: 9fe4bb3d02b747eca0c5599bae0e0978, f48afa83983c48ad98988c4dd142282d
[2014-03-26 06:38:07] [ERROR] Multiple records found for lou2ag: dea969ea0bc648f290c8e3015363e532, 5f3d710623e64e14bd32523e2c29c311, 2293f4ab7787418994003a0d513619f9
[2014-03-26 06:38:09] [ERROR] Multiple records found for greasyspic: e83a017992474db2862e61edc69e6b45, 8b377f6a36f74ea4893f467d4c7600d7
[2014-03-26 06:38:14] [ERROR] Multiple records found for taken8: 677b6f913c8d4612a361457f1155ae61, 829ab5c045e448df96b94b965f1775b8
[2014-03-26 06:38:14] [ERROR] Multiple records found for ash_9000: ea927f99e48544618247150c7088d7e1, 86abc5fdf1344d05843b965d5b468fdf, 7ae2f8e9be224329a85a84374fe3d303, 5c13bc3c1a3342c88d1c1a7b4000cfb5, 8bea3ff12e554a06970b0a4f0cae2ff6
[2014-03-26 06:38:14] [ERROR] Multiple records found for wjrmaxhd: a7c3cb8b925b4957916ff1f0a0c92ce9, 676522ca7b9541acaea9adaa837a82c8, 5e9b62a3f88e438abbdc39a0d9853da3
[2014-03-26 06:38:17] [ERROR] Multiple records found for panthinol: fdd4303509654498bb6a9b74ab840d34, 0765f8c063ed487381214ccbafcfe162
[2014-03-26 06:38:17] [ERROR] Multiple records found for giraffe310: a33bae2e28544507b2afebc617cc5e38, bcd6de2d93af400b9ad8255ca1f5c8f6
[2014-03-26 06:38:23] [ERROR] Multiple records found for baconlover4ever: 40ad6e8b1dbf4699a93810ba5e12257f, b6fee3a423694c04b734ce3c0f29ede3, 30fc7f53cc584dfb89f72dad1101889d
[2014-03-26 06:38:23] [ERROR] Multiple records found for xchewiex: fa0e96225497403fa3824b3c3baf93f9, 06bc3ca57717481fba9d7abbb840440a
[2014-03-26 06:38:28] [ERROR] Multiple records found for jumbokiller2001: e01c28e44f2443389440e07974a47393, 6d0409ceb40c4580b2075e19d6a12003, a8e27c733217448ab7166ae32f00799c, a5d19e7fb70f4a7ab9bfaf02eda2562a, 311a4cacf4584766aa89212a55d9ea3d
[2014-03-26 06:38:35] [ERROR] Multiple records found for nico: 3bfb7c8d02a24ece8b56c7e22a553be3, 24107f5e4e4c49d0b25f423d0a9fc337
Actually, Anthony, as it is now, the vanilla server caches it from /hasJoined and resends the SAME (guaranteed by the client) data every time that the player object is spawned. This includes traveling out of view and traveling to other dimensions. Skins changes are not in realtime.