Assuming there aren't any other error related to permission and such (which we cannot see without a proper stacktrace), I would suggest you to have a look at the sample on the msdn page for the Delete method.
SPWeb oWebsite = SPContext.Current.Web;
SPList oList = oWebsite.Lists["List_Name"];
SPListItemCollection collListItems = oList.Items;
for (int intIndex = collListItems.Count - 1; intIndex > -1; intIndex--)
{
if (Convert.ToInt32(collListItems[intIndex]["Field1_Name"]) < 70 ||
collListItems[intIndex]["Field2_Name"].ToString() == "None")
{
collListItems.Delete(intIndex);
}
}
As you can see the for cycle is done BACKWARDS. This because with each item deleted the collection will get shorter, and if you simply go from 0--->n-1 you will then experience problem with the collection index. Also notice that the cycle is from n-1 to 0, while you are using a for 1-->n, so you would receive a out of bound exception on the "last" item (that is, non accounting the collection shortening problem).
Other than that, the code should work. Can you have a look at the above and see if this resolve your problem?