Each Pokemon has a PID, and each type of item has a corresponding index number. If the PID of the Pokemon throws an error or the index number of the held item matches that of an unreleased item, then the Pokemon is prevented from being entered. I get that.
But it doesn't answer my question. If I've understood you correctly, the first item in your bag is altered so as to change it to a different one. In the same way that changing an existing Pokemon to a shiny one conflicts with its PID, changing an existing item to a different one could conflict with the data that was created when the original item was generated. In other words, could you test this out to make sure this is not the case? :)
Actually I was wrong about that whole shiny thing.. I decided to test it out with other different pokemon/legendaries, turned them shiny and it turned out, they were allowed into Battle Spot.. It was my mistake originally when I was attempting this with Legendaries such as Xerneas, Arceus, Keldeo, Zekrom, Zygarde, etc.. All Legendaries who are "Shiny Locked".
So, any normal pokemon or legendary that isn't "Shiny-Locked" by Gamefreak, which are basically 1/2 of the Event-Only and the non-6th Gen Legendaries, are allowed to freely battle on Battle Spot..
However if they are Shiny-Locked and you turn them Shiny, then they become blocked on Battle Spot but are still able to battle over the PSS (wi-fi or local).
If I remember right, the "Shiny-Locked" Legendaries are: Arceus, Jirachi, Keldeo, Meloetta, Reshiram, Xerneas, Yveltal, Zekrom, & Zygarde, everyone else should be fine. But just make sure to backup your save file or clone a non-Shiny set, just in case there's more before you go about deciding to turn all your Legendaries and Pokemon shiny.
I went ahead and edited the original Post's FAQ on the 1st page to reflect this :)!