Ok I tested d9 with Vista. I get the checksum error as before. Then with Dwarf Fortress remaining running I swapped checksums and ran Dwaf Manager again. It shows "Connected to 1724(v0.28.181.40d9_vista) in the lower right hand corner but none of the data is loaded in the screen.
Downloaded the source and ran it from VS2008
MemoryAccess.ReadMemory - MemoryAccess.cs(86)
int read = ReadMemory( address, buffer, length );
MemoryAccess.ReadMemory(Int32 address, Int32 length) MemoryAccess.cs(86)
MemoryAccess.ReadInt32(Int32 address) MemoryAccess.cs(104)
DwarfFortressAccess.UpdateMemoryReferences() DwarfFortressAccess.cs(89)
DwarfFortressAccess..ctor(Process process) DwarfFortressAccess.cs(56)
DwarfFortressData.Connect(Process process) DwarfFortressData.cs(58)
DwarfFortressData.RetrieveAccess() DwarfFortressData.cs(50)
DwarfFortressData.Update() DwarfFortressData.cs(108)
ManagerForm.buttonUpdate_Click(Object sender, EventArgs e) ManagerForm.cs(202)
Control.OnClick(EventArgs e)
Button.OnMouseUp(MouseEventArgs mevent)
Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
Control.WndProc(Message& m)
ButtonBase.WndProc(Message& m)
Button.WndProc(Message& m)
ControlNativeWindow.WndProc(Message& m)
NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
Program.Main(String[] args) Program.cs(51)
AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
HostProc.RunUsersAssembly()
ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
ThreadHelper.ThreadStart()
Dunno what's so different in 40d9 that Vista x64's handling the memory so differently than in 40d.