If you specify 'DataObjectTypeName' parameter in ObjectDataSource — UpdateParameters get ignored. So if you have:
<asp:ObjectDataSource ID="objectDataSource" runat="server"
DataObjectTypeName="Customer" InsertMethod="Save"
UpdateMethod="Save"
DeleteMethod="Delete"
SelectMethod="LoadList"
TypeName="CustomerLogic"><UpdateParameters>
<asp:Parameter Name="CategoryID" DefaultValue="5"/>
</UpdateParameters>
</asp:ObjectDataSource>
When you do update — parameter 'CategoryID' is not bind to Customer.CategoryID.
The solution to this problem is to add parameters dynamically in Updating event handler:
protected void objectDataSource_Updating(object sender, ObjectDataSourceMethodEventArgs e)
{
Customer customer=(Customer)e.InputParameters[0];
customer.CategoryID=5;
}