David,
It's hard to tell from here why your alias is getting switched when your run the application, but not when you step through the code, but I have a few suggestions for you.
1. Add STRTOFILE() statements in your code that write out the current method, line number and alias. This will help you nail down when the alias is getting switched.
2. FYI, when specify the default value for a primary key in the VFP Table Designer, rather than just specifying NewID(), you can pass the name of the table: NewID("MyTable").
Regards,
Kevin McNeish
Eight-Time .NET MVP
VFP and iOS Author, Speaker & Trainer
Oak Leaf Enterprises, Inc.
Chief Architect, MM Framework
http://www.oakleafsd.com