When did the colon character : become an allowed character in the filesystem?

This change appeared at the beginning of MacOS X (i.e. MacOS X 10).

Then the directory separator from HFS : was changed to the directory separator of UFS /. Since then the Finder is in charge of making the following mapping:

/ → :
: → /

This is due to the difference in command line and GUI. As pointed out in the above comment, colon (":") is allowed in UNIX/BSD since the directory delimiter is slash ("/"). In the GUI, the delimiter is colon and slash is allowed as a character for a file.

Mac OS X interchanges those characters depending on where you view them.

So, if a file is viewed in command-line, it shows colon. If it is viewed in the GUI (e.g. Finder or TextWrangler), it shows slash.

In other words: You could use TextWrangler to create a file named "/" and then later view that same file in command-line, where it would be displayed as ":".

Generally, I would avoid using either of the characters, if not required by a specific naming convention. In the end, it is a file name and does not affect the contents of that file. Using an underscore (oldskool) or a space character would be recommended.