Keep tags and categories separate.
I like the idea of using tags for classification.
Categories are good for defining a drawer, and can also be used for access controls to certain content (membership etc)
Obviously there has to be migration taken into account, but this is relatively easy.
The system has to be flexible allowing you to modify how the keyword data is presented on your page with various delimeters between words and between tags, and various options for wrapping the tags in link code.
In my mind it should be just a backend feature, that Tag plugin authors could build upon.
This would allow a user to easily switch between different implementations of tagging and not have database problems.
If a front end is also created, it should be easy to override it. Maybe the front end itself should be a plugin.