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: 
Disclaimer: I'm the author of Breeze.

I had a similar problem where I internally use Kanban for software development but still needed somehow to bill clients based on estimates and actual work done. So, being a developer, I made a simple tool called [Breeze](http://letsbreeze.com). It's basically a Kanban board with time tracking and reports. Initially I called it Trello and Basecamp hybrid with time tracking and reporting.

Basically you can add estimates and log work (also includes timer) for every card and you can then generate report based on that.

In an ideal world I would like to drop the tracking and use pure agile development but it is not possible if you are primarily doing freelance development. Also it really depends on the client, if they insist on Gantt charts then you are stuck.
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.