I was looking things up on the pre-3D DS family and noticed odd work-arounds in play:
Apparently a VBlank is handled exactly the same way as a GB/C/A, with a few exceptions:
The top screen has the very first blank on startup (top screen blank will be referred to as a TBlank, bottom blank as BBlank) and the updating alternates instead of being processed simultaniously. You can also manipulate VRAM (or equivalent) when disabled, as the data you try to manipulate will be buffered and your manipulations will automatically be applied on the next blank. Each screen has its own section of VRAM, separated by a copy of NAND. There's an odd quirk with processing: The screens have their own processor, the bottom uses the ARM9 and the top uses the ARM7. They time blanks via a segment of code on the NAND. Oh, and one screen is always under a Blank period.
This is formatted REALLY BADLY, but it's 1:08 AM and my DSi can't hold any more characters.