HTML is quickly being replaced by XHTML, the differences are mostly very minor, but it will be very much worth the effort to switch, trust me.
The primary benefit of XHTML is that it's more widely accepted in non browser type devices such as cell phones or palm devices and other scaled down browsers.
This is especially important to keep in mind now with the pending release of the new Apple iPhone and European equivalent.
So the best thing to do when creating new BBCodes and or new Styles is to stay updated with the current web Standards... HTML 4.0 is no longer a web standard.
But what makes switching to XHTML Strict so difficult at this stage is the lack of support in Internet Explorer 6, I say 6 because hopefully 7 will address all the non-compliant issues... or at least most of them. We all know how Microsoft likes to leave at least a few bugs in released software.
The differences between XHTML Strict and XHTML Transitional is basically, Transitional is forgiving in the sense that it allows some
depreciated tags and attributes to pass validation.
Strict is exactly that... all depreciated tags and attributes will fail to validate, and may
display in the browser incorrectly as well.
subSilver actually uses quite a few depreciated attributes, but no depreciated tags (font/center etc)
applet, basefont, blockquote, center, dir, em, font, isindex, listing, menu, plaintext, s, strike, strong, u, and xmp are all depreciated tags and should not be used.
align, alink, background, bgcolor, clear, compact, color, border, hspace, link, noshade, nowrap, size, start, target, text, type, value, vlink, width, and vspace are all depreciated attributes -- save a few exceptions, such as size and width, which can only be used in certain attributes, while they are depreciated in others, such as TD, TH, etc.. -- to use width in tables, use the <colgroup> or <col> tags inside the table header.