Hey Jason
Why would the articles that have a ? in them fail to show?
http://www.ybg.org.uk/blog.php
The permalink is being changed in the _update page in the backend like this (not sure if that helps any):
?preg_replace('/[^0-9a-z()!?,]/i','-',str_replace(array("@","\-","/",".","\"","_","\'","*","#"),"",$_POST["BlogTitle"])):"")