Statecharts are used a lot in model-based design in automotive software development. I especially like a tool called IBM Statemate it was lightweight and easy to extend compared to Simulink.
One key issue in the tooling however (which is perhaps applicable to all "visual" programming languages) is the inability to view proper 'diffs' of changes. This was eased in Statemate somewhat because all statecharts were stored as plain text files but I feel it could use some good ideas.