Add Address (from a custom call) not creating address_link record

I'm sure I'm missing something stupid..

Anytime I create an insert page using the .NET API, I have to include the parent object on the screen or the links are not created. The link is never pulled out of the context keys.

I have a button on a screen that runs a .net class to show the AddAddress screen. The AddAddress screen has not been changed in any way. I just wanted it in a popup AND to close immediately after clicking save and not redirect to the list of addresses within the popup.

I really change nothing other than adding a javascript call to close the popup.

public class AddressNew : DataPageNew
{
public AddressNew()
: base("Address", "addr_addressid", "AddressBoxLong")
{
this.CancelMethod = "RunNewAddress&close=Y";
this.SaveMethod = "RunNewAddress&close=Y";
}

public override void BuildContents()
{
if (Dispatch.QueryField("close") != null)
{
AddHeaderScript(CloseJavaScript());
}
else
{
base.BuildContents();
}
}

private string CloseJavaScript()
{
return "javascript: this.close();";
}
}

Addresses created this way never get the address link record back to the company. What am I missing?