Adding new OT? Why? OT is always kept, unlesss you are referring to the "Latest (not OT) handler" entry in pkHex. I'll check how the bank deals with this tomorrow, but that data is variable and not very important.
About pkmiles/battlepoints generation stuff, I've found a thread that seems to be rather accurate about how they work:
http://www.pokecommunity.com/showthread.php?t=319610
Basically:
PokeMiles Earned Per Day = ( [ Total number of Pokemon in Bank boxes on previous day / 3000 ] * 100 ) - 1
Battlepoints = Pokemiles / 10
This means 3000 pokemon in the bank render 99 pokemiles or 9,9 battle points a day.
The remainders are always stored and added to the newly generated pokemiles, with the previous example, 3000 pokemon generate 99 pokemiles a day, if you receive battlepoints instead, the next day the bank will offer you 108 pokemiles or 10 battlepoints; the next day 107 pokemiles or 10 battlepoints... etc.
If you have 1068 pokemon in the bank, the formula results in 34,6 pokemiles; 0,6 pokemiles will be added to the next day's ammount, if there are still 1068 pokemon in the bank that would be 34,6 (newly generated) + 0,6 (saved from the previous day) = 35,2 pokemiles (or 3,52 battlepoints, which save 5,2 pokemiles for the next day).
Also, here's documentation about the checksum used in pokemon link data:
http://srecord.sourceforge.net/crc16-ccitt.html