@Richard.Hein: My understanding of the history of category theory in CS (and category theory itself for that matter) is very very limited, but I think it goes back to work in programming language semantics, where mathematicians were trying not so much to create new languages based on mathematical constructs, but to use them as tools for analyzing/modelling existing languages. Then, later, people designing languages like Haskell went back and used some of the analytical tools from programming language semantics theory as inspiration for features in the language itself.