Now that i worked through the code, i got a solution. This works as posted here on MyBB 1.02. If that should be reposted somewhere else, let me know and i will post it.
Add an setting in the control panel, important is simply its name, calling it "imgbaseurl" as this will be in the code below. If you name it different, do so below as well. I decided to make the rule for myself to add the last / so i have to take care of that in the later scripts as well. This is also how the bburl setting is being handled, which is a relative of this setting now. Easiest is adding it to the General Configuration group thats where bburl is.
Now a few details that are important, otherwise the below code will NOT work.
bburl comes without a traling slash, so it will be something like "http://forum.domain.com". The imgbaseurl can be basically two things, one is local like this "images/" or something remote like "http://img.domain.com/". Make sure to include the trailing slash here!
Now for the Smiley manager.
Admin CP > Message Filters > Smilies Manager
Change all the smilies path to reflect something inside the imgbaseurl path. Keep in mind the url is added in front of it, so you have something like "smilies/biggrin.gif" in the smilis manager and it will be "http://img.domain.com/smilies/biggrin.gif" in the end. If you add a slash in front, you get ugly results. Ignore the errors you get from not displaying images, the codes get changed further down for that.
This part makes sure you get the images displayed correctly in posts.
Now open inc/functions_post.php and look for this:
if($archive == "yes")
{
$message = dosmilies($message, $mybb->settings['bburl']);
}
else
{
$message = dosmilies($message);
}
Now remove this and replace it with this:
$message = dosmilies($message, $mybb->settings['imgbaseurl']);
Now this part ensures the "clickable smilies" part shows them correctly as well in the post screen.
Open inc/functions.php and find this:
$smilies .= "<td><a href=\"javascript:addsmilie('$find');\"><img src=\"$image\" border=\"0\"></a></td>";
Replace it with this:
$smilies .= "<td><a href=\"javascript:addsmilie('$find');\"><img src=\"".$mybb->settings['imgbaseurl']."$image\" border=\"0\"></a></td>";
And last but not least this ensures the smiles manager to show them correctly.
Open admin/smilies.php and find this:
echo "<td class=\"$altbg\" align=\"center\" valign=\"bottom\" nowrap>$smilie[name]<br><br><img src=\"$image\"> <b>".stripslashes($smilie[find])."</b><br><br>";
Replace it with this:
echo "<td class=\"$altbg\" align=\"center\" valign=\"bottom\" nowrap>$smilie[name]<br><br><img src=\"".$mybb->settings['imgbaseurl']."$image\"> <b>".stripslashes($smilie[find])."</b><br><br>";
Above that part find this:
if(strstr($smilie[image], "p://") || substr($smilie[image],0,1) == "/") {
$image = $smilie[image];
}
else
{
$image = "../$smilie[image]";
}
Change it to this:
$image = $smilie[image];
Save all files, and upload them to the server.