One of the good things with .net is you can use almost any compiler version to build your solutions (so far) given the right .net version of course so vse2005 should be fine.
Yep, that's the steppen' through stuff thing, but there are work arounds such as using throw/catch blocks and simple messages at suspect lines of code but it would be good to 'watch' your variables some times but again you could use a simple message box or print to command line to view these values at runtime.
hth