What does Pokémon Bank's legality checker react to?

To quote:

  • Location & Version: Their location must be correct (i.e. Kyogre from the Cave of Origin in Sapphire Version) - however, some of my test Pokémon got by anyhow, like a Rayquaza from Route 101 in Sapphire.
    It's based on version - you can't get Groudon in Sapphire, for example, so it won't go.
  • Shiny-Locked Pokémon: Certain Pokémon that cannot be ever Shiny cannot be Transported except in extremely rare circumstances - Reshiram and Zekrom, for example, cannot be Shiny as I recall. There are placeholder Shiny sprites in the game to prevent crashing as I understand it, but if it's not allowed to be Shiny without hacking, then it's not allowed to be Shiny. The specific list is supposed to include Celebi, Jirachi, Arceus, Victini, Reshiram,
    Zekrom, Keldeo, and Meloetta; Xerneas, Yveltal, Zygarde, Diancie, Hoopa, and Volcanion also can't be Shiny without hacks. (Note that Shiny Jirachi, since it was given out in the summer of 2014 in Japan, can now be brought from Pokémon Black/White games to Pokémon Bank.
    This seemingly-odd expansion was also made to accommodate "WISHMKR" Jirachis, but will include pretty much any Shiny Jirachi from Pokémon Ruby/Sapphire. Furthermore, Reshiram/Zekrom can be Shiny as of OR/AS's release, and will be allowed through Poké Transporter from Gen. V, but are still illegal if not from OR/AS's Fabled Cave!)

  • EVs & IVs: Their EVs and IVs cannot exceed certain limits. Their EVs cannot exceed 255 in any given stat (note that 253-255 EVs will be cut down to 252 upon Transportation), nor can they exceed 510 total. Their IVs cannot exceed 31 in any one stat.

  • Ability: Their ability must be correct. For example, a Pikachu with Wonder Guard cannot be transferred since Pikachu never has that ability. A Pokémon born on a game prior to Pokémon Black/White also cannot have its Hidden Ability, nor can Pokémon whose Hidden Ability is considered unreleased.

  • Types: Their type must be correct. You cannot have a Water/Fire Pikachu, for example, since it is only Electric-type.

  • Level: Their level can only be from Level 1 to Level 100. (I note this since Level is a 1-byte stat in the game limited between $00 and $FF (0 and 255) in hexadecimal. Extreme hacking programs or proper use of variables will circumvent the limit.)

  • Gender: Pokémon solely of a certain gender (such as Kangaskhan, which is only female) must be of that gender. No-gender Pokémon cannot have a gender, such as Ditto.

  • Moveset: Their moves must be correct. For example, a Pikachu with Water Spout cannot be transferred. However, some event Pokémon do have alternate movesets that will get by (as long as everything else checks out): for example, Surfing Pikachus.

  • Pokémon Eggs: Eggs cannot be Transported, nor can Bad Eggs, as far as I know.

  • Glitch Pokémon: Since the game operates with the Pokémon B/W games, only Pokémon with their ID #'s (like #001 for Bulbasaur) from #001 to #649 ($0001 to $0289 in hex) can be foreseeably transferred. Anything outside that range is a glitch Pokémon that, in all
    likelihood from my knowledge of Gen. I/II mechanics, would transform
    into one of the new X/Y Pokémon or another glitch upon import. That
    said, B/W were supposed to have mechanics in place to prevent Pokémon outside that range from being found, so this is just speculation.

Event Exceptions: Assuming all of the above have been considered and a certain few - and really, just the moveset, location, and version - will be given a second check. This check is the Event-legitimacy check for Pokémon distributed through an Event.
Assuming that the moveset, location, or version for Pokémon that can be found in the wild tipped off the checker, PokéBank cross-checks the illegitmate aspects (i.e. Extreme Speed on a Pikachu) with a database that contains the info for the Event-distributed Pokémon. If the Pokémon is legal under the Event distribution's details (even to the point of Trainer ID, OT, ribbons, and real-world region), and meets the other more-obvious ones outlined above, then it will go through.

To summarise, it appears that it will check for most things on your list, apart from caught level and gender caught .

Souce: http://www.gamefaqs.com/3ds/746375-pokemon-bank/faqs/68616?page=1