Visio (and office in general) is still in the dark ages with its automation support. Namely COM+ & VBA. It works, though I'm a C# kind of guy.
Luckily here's one project that may help to improve the coding experience. It helps that I just installed VS 2008.
Project DescriptionVisioAutoExt is a library that simplifies using Visio 2007 from C#