It would seem, or some white space conflict somewhere in the css,.
I tried a variety of things on those spans and the container itself with no real change. When you look at those spans in chrome dev you fill find them but they all have a width of 0px, for all I know its the font or something obscure like that.
What seems to work in chrome and FF is to do the following:
add this css below the .bbc_code declaration (note, what are there two in there, looks like a left over when something was consolidated ?)
.bbc_code .tab {
display: inline-block;
white-space: pre;
width: 4ex;
}
The width + display forces chrome to have a width, and the white-space is needed for FF to preserve the tabs on a select and copy.
Then in Subs.php find
$data = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data);
$data = str_replace("\t", "<span class=\"tab\">\t</span>", $data);
There is probably a better solution but thats all I could come up with.