Question: My title sums up my question pretty well. We're investigating whether we can use a Kanban-based system to manage and track some internal projects and one of our requirements is to track time spent on activities. This will allow us to collect stats on engineering cost. 

Is anyone doing this and if so, how?

Answer: 
You can achieve this using [JIRA](http://www.atlassian.com/software/jira/overview/) (which will manage your issues/bugs/backlog) and [Greenhopper](http://www.atlassian.com/software/greenhopper/overview/kanban) (which will handle the Kanban side of it). Devs (or PMs) can log work on the issues that they're working on but, as others have mentioned, it might not be quite right in a Kanban context. 

We use it in Scrum, where it's helpful for calculating burndown and velocity, but I should emphasize that, for us, it's just about helping us to improve our estimation and not overloading our sprints rather than for performance management. In my opinion, performance management is much more complex than just the measurement of hours/days a person has logged against a particular task.
I concur with [codegnome](https://pm.stackexchange.com/users/4271/codegnome "codegnome")'s answer above. Kanban is about outcomes, what the team delivers in terms of *throughput* and how fast they do this, measured as *cycle time*.

You could use this to support your financial analysis by asking 'Of our team's throughput, how much of that is bug fixes for product X, how much of it is new features for product X, new features for product Y etc?' and then charging your customer accordingly.

I would urge you to think in these terms rather than measuring developer activity as such measurements do not come for free, they are an imposition on the team and as such can end up being incorrectly recorded and so less than useful.