A while ago vowed I would make a 2D VB engine and here it is. Note that the Particle and AI modules do not work at all. I wrote all the "developer" code in form1 and a little game so you can get the jist of how the engine works. Most of the engine is simple for example: Dread_Inputs deals with inputs, Dread_Core deals with Rendering etc.
I have abandoned this project but feel free to give me feedback.
Just a note: I don't have any code infront of me so any of these tips are from memory.
When creating the device the different swap effects can make the program run faster, although I'm not possitive which is the fastest (I think it is discard but it might be flip).
For drawing fonts I believe bottom = fontsize * 2 and right = fontsize * len(string), then you could put the draw text functions together, add a font parameter, then get the size of the font from the given font.
I don't have vb on this computer so I can't play it, but the code looks to be alright.