EPiServer.Global.EPDataFactory.Save(pageObject, EPiServer.DataAccess.SaveAction.Publish, PiServer.Security.AccessControlList.NoAccess);
When using reflector on the archiving function you can se that the archiving loop is inside a try/catch and that the system only counts up the one that is ok. there is no handling of the ones that fails so that when the loop is done the count is still 0 and thus giving you a "0 pages were removed" message. the most likely reason is that since the scheduled job is run as anonymious when in automatic mode you get an access denied error on each page (the manually is run as the user loged in).
Maybe EPiServer in the future can give a count on the ones getting access denied as well as the ones going OK?!