A couple of problems
a)
Playing with enums "obj1.SetProperty("FormBorderStyle", "4")" works in the IDE but the optimising compiler throws a "must implement IConvertible" exception.
b)
I can't find a use for
SetProperty2 and
SetProperty4. Within the IDE it always throws an "unable to cast System.Windows.Forms.MainMenu to System.String" exception and, due to B4PPC typing behaviour the optimising compiler compiles it to SetProperty(String, String) not SetProperty(String, Object). Is the intended use to pass objects returned from libraries. Similarly ObjectArray.SetObject?
EDIT :- I've knocked up a library to return types such as Size and Point and SetProperty2 seems to work with some of them them. Still having trouble with enums though!
EDIT :-

I've cracked enums! I was assuming that I would need to set the numeric equivalent of an enum but actually it needs the String name of the member of the enum. Having trouble with Color now, I can get it but not set it.