After looking at my old save game I think I may know what happened here. I had apparently already suggested a contract thinking we were just "talking" (like I do hundreds of times with GMs before I make a real trade). When I tried to change the terms he got ticked off. I don't know "what it was I said" but something must have triggered it. He seemed to interpret it as a worse offer than before when I tried to include an option year or something.
BTW as I said before I really was trying to be fair. I was just exploring the options. I didn't even TRY to include years into what would have spanned his free agency, because I figured he wouldn't want to do that. I was trying to lock him for 2 arbitration years and in exchange give him many times the minimum he'd be entitled to before that.
I think the logic just needs to be adjusted. Failing that, please give us a box to override this behavior. If I can force a billionairre to never fire me, I should be able to force some kid to stop giving me the silent treatment.