Looks as though my code is flawed. If someone is a regular syntax guru and knows what I did wrong, help me out here! :d Otherwise, I'll be researching/reading further.
EDIT: Alright, fixed. Guess by trying to save # of lines by complex coding, I messed it up! Heh. Here it is:
$message = str_replace('[b]', '<b>', $message);
$message = str_replace('[/b]', '</b>', $message);
and so on. Use separate lines for the opening/closing tags.
EDIT2: The code above has changed, using a different function, due to EFFICIENCY. This is much faster now, and should be corrected in your scripts (for this particular issue).