The problem is me, myself, and I. I wasn't getting a handle on the object being passed in. For some under the covers reason an "InArgument" is not immediately accessible until you get a firm grasp on the exact object from the given context. I don't know for sure but I suspect this is due to multiple workflows running so you can't just grab any ole object ytou must get the object from the proper context. Anyway here are my comments of what I learned inline.
public InArgument<bool> IsHappy { get; set; } //bool variable being passed in
public InArgument<bool> IsClapping { get; set; } //bool variable being passed in
public InArgument<ActvUsrPrgmResults> itm_ActvUsrPrgm { get; set; } //custom object being passed in
protected override void Execute(CodeActivityContext context)
{
bool Happy = context.GetValue(this.IsHappy);
bool Clap = context.GetValue_this.IsClapping);
ActvUsrPrgmResults y = context.GetValue(this.itm_ActvUsrPrgm);
//NOW!!! we have a handle to the proper objects for this context
//This also works. I just flip flopped the InArgument property and the context.
ActvUsrPrgmResults y = itm_ActvUsrPrgm.Get(context);
NewPerson x = new NewPerson
{
AccountName = y.AccountName....