Implementation Management / Assistance
Never believe anybody that tells you that they can implement a system without any internal assistance. Not only would this approach be an expensive one, it would result in very little if any ownership on part of the client. Your are going to be using the system daily, therefore you'll need to have a deep involvement.
The same holds true for trying to implement an unknown system without any outside assistance. On almost every occasion that this has been tried, the result was failure, both from a management standpoint as well as a fiscal standpoint. The team runs into problems they don't know how to handle or handle them improperly. This is where the expertise that consultants bring in is invaluable, as it short circuits many of the common roadblocks
What areas should the client be involved in? The short answer is any area that they are going to deal with in the future on a day to day basis. They must be the master of the data and master of the policies that govern the usage/addition/deletion of data. This is true since the lifeblood of the system is the data in it and the information that can be extracted from that data.
From a consultant's standpoint, where should they be involved? In areas that are "one-time" only items, navigating the layout of the project plan, and assisting in critical pieces of that plan. There are no good reasons that a client should spend time and resources, for example, learning how to convert data from one format to another, this is something best left to the consultant. Let the consultant provide you with guidance in the steps to make a project successful.