MSCRM does a pretty good job so that you don't get into trouble when removing attributes from the system. Before you will be allowed to do so, it will verify that the attribute is not being used in any published form, view, or workflow in the system. For forms and views, the error message explains quite clearly which form/view needs to be updated before the attribute can be removed.
However when it comes to workflows, you just get the following generic error:
and deletionstatecode = 0
and statecode = 1
and primaryentity = 112
select statuscode from AsyncOperation