OK, if you also put $parsedtext = '' at bbcode_parse_start (as well as $dosmilies = false, both inside some if condition I'd assume), and also put $post_cachable = false (ETA: at showthread_post_start, that is) (probably inside the same if condition), then it seems to work. Well, at least it turns smilies on and off depending on how you set $dosmilies, but I haven't tested to make sure it doesn't affect what other users see.
Another thought was to somehow make a style that has smilies turned off. The caching stuff seems to be separate for different styles, so that might eliminate that problem.