This is going to be a long one!
Thanks for the feedback and glad you enjoyed it. I've numbered your points above.
1.
2. I like to build my team as I go along based on the one I get with good natures. It helps keep the game fresh each time you play. I'll always have my biases towards certain pokemon but there are enough pokemon that I can afford to forgo the ones with bad natures. A big factor in making the level jumps was that it gives an incentive to get new pokemon in your team. You can always train up your team to keep up if you feel that strongly about them but it also means that it's easy to throw new pokemon in which is something that rarely happens in colo/xd. I played vanilla colosseum many, many times and I never really used raikou simply because by the time you got it, it was a lower level than everything else. Basically just about anything is viable so your team always has room to grow.
3. Since gen III TMs are one time use only and I couldn't distribute more TMs outside of putting them on shadow pokemon I gave the pokemon full movesets by level up. Like in my response to 2, I wanted as many pokemon as possible to be viable. I also didn't want the player having to worry about whether they should save earthquake for a later pokemon or use it on a pokemon they might not keep until the end. However, I recently learned how to manipulate the pokemart data and I'm a lot better with the scripts so that isn't a concern anymore. I actually spent yesterday updating all the level up moves of all the obtainable pokemon so that is already dealt with for the next version.
4. The music is something that I've been thinking about recently and I will definitely be looking into it further once XG is a bit more stable. It's a low priority right now but I'm pretty sure it's a really, really easy thing to do.
5.