Approach I used to Solve the Issue is,
- Create a New List
- Copy Items to New List
- Delete old List
//Add a List
web.Lists.Add(listName, listDesc, t);
//Copying
SPList myDestinationList = web.Lists[destinationlistName];
SPList mySourceList = web.Lists[Form1.OldListName];
SPQuery mySourceListQuery = new SPQuery();
SPQuery mySourceListQuery = new SPQuery();
mySourceListQuery.Query = "<OrderBy><FieldRef Name='Title' /><FieldRef Name='Location' /></OrderBy>";"
SPListItemCollection mySourceItemColl = mySourceList.GetItems(mySourceListQuery);
foreach (SPListItem mySourceListItem in mySourceItemColl)
{
SPListItem myDestinationListItem = myDestinationList.Items.Add();
if (mySourceListItem["Title"] != null)
myDestinationListItem["Title"] = mySourceListItem["Title"];
if (mySourceListItem["Location"] != null)
myDestinationListItem["Location"] = mySourceListItem["Location"];
web.AllowUnsafeUpdates = true;
myDestinationListItem.Update();
web.AllowUnsafeUpdates = false;
//deleting a list
web.AllowUnsafeUpdates = true;
SPList myList = web.Lists[list];
myList.Delete();
web.AllowUnsafeUpdates = false;