I believe we are not able to delete some pages/component after publishing all because we are turning publications on/off. Although I have unpublish from all current publications, it still says it is published to somewhere when trying to delete. If there a way where I can delete those pages/components (without going to DB using SQL)?
Yes there is a way. Tridion 2013 has a feature to decommission publishing targets. However, since your question is regarding Tridion 2011 SP1, you can resort to a technique where you fake the publication target to which your page is published to. Tanner Brine explains this technique here: http://www.tridiondeveloper.com/tricking-tridion-into-unpublishing-content-from-dead-targets
Thanks Alvin for pointing out the solution using code. I think I like this solution better https://stackoverflow.com/questions/11327484/how-to-set-ispublishedto-status-on-a-tridion-component