Thanks Kaphotics! (albeit, it's been a few months :) ) That pretty much clears all my questions about how RNG works. Apart from:
AI uses mersenne twister to determine a random move, and it's also used to animate sprites.
You're probably right about this, but I thought the AI chooses the best possible move in a given situation. I'm not a Pokemon researcher, but in my experience, the AI always tries to do damage, unless it's out of PP or a super-effective move, etc. I remember a unique situation in a double battle (HeartGold, Surge's gym) where a Pokemon on the AI's team activated Volt Absorb to restore their own Pokemon's HP. Dunno whether that's an isolated case or something that's coded into the game everywhere.
It seems kind of odd that the Mersenne Twister is used to animate sprites, since just a loop would be enough. So, (this could be a dumb question) does the sprite animation provide a visual indication of the seed? By looking at sprite animation, can you determine what the AI's going to do next?
Oh, and about your computer resources problem: NDS roms tend to be less intensive on Desmume for Ubuntu (at least that's what I use). It uses 200MB ram on my machine and 40% of the CPU. Granted, it doesn't have most of the tools the Windows version does, but at least it's efficient.
(sorry for asking too many questions!)