If a CTO is coding in a medium to large company, he/she should not be in the critical path of any project at all. This should not be their role in a company of this size, otherwise they are abandoning what they were hired to do. They should experiment to stay current with the technology that's out there, but not on real projects.
If a CTO in that size company is coding on actual projects, then they are probably not really happy in a CTO position, and would probably be much better off as a lead developer, architect, or consultant.
If a CTO is coding at a small company or startup, that would be expected in the early stages. But once the company begins to grow, they'll have a decision to make. Either the CTO focuses on the CTO role, because it will require almost all of their time, or they should change their role, and bring in someone else who could focus on that role, if they still want to code.
In my opinion, it's perfectly ok for someone to remain in a coding role, even if they are an owner of a startup, IF, and ONLY if they eventually bring in someone to take on the full-time role of running the division. Many startups fail because they didn't follow this guideline.
I've been there, so I speak from experience.
YMMV, but I strongly recommend the above.