zakspeed,
MCML needs .NET objects that have parameterless constructors. Your initial route was correct. Doing:
<n:car Name="BMW" Year="1998"/>
will 1) create a car object, and 2) call the Year property setter with the value of 1998.
I'm not sure what build you are using, but, even when running within MCE, you should still get info about what exactly happened. McmlPad is a good choice in this case when building up your UI. You typically make small changes and hit F5 over and over. Of course, it'll present parser errors (and runtime errors) without crashing (which is what is likely happening here).
Make sure your property is public. Otherwise, if you don't want it public, you can use the [MarkupVisible] attribute on it so that the parser can access it and no one else can access it via code. It all depends on how you want to present your OM.
- Mark
Mark Finocchio (Microsoft)