I feel a little bit silly now, but I found out what I was doing wrong. I didn't need to use the ObjectDataSource for inserting the object at all. I should have just called the insert method directly.
if (IsValid)
{
Incident i = new Incident();
i.CustomerID = Convert.ToInt32(ddlCustomer.SelectedValue);
i.ProductCode = ddlProduct.SelectedValue;
i.DateOpened = DateTime.Today;
i.Title = txtTitle.Text;
i.Description = txtDescription.Text;
try
{
IncidentDB.InsertIncident(i);
}
catch (Exception ex)
{
}
}