Le XSL s'applique généralement sans souci.
C'est ce que le XSL a généré dont le comportement est plus difficile à prévoir.
Effectivement, sous IE comme sous FF, il existe des modifications substentielles de rendu lorsque la page est valide XHTML ou HTML4 ou autre. Et le problème, c'est qu'il est quasi impossible de débuger une page HTML générée à la volée par le navigateur parceque... Dans le navigateur tu n'as accès qu'aux valeurs XML, et au XSL, mais pas au produit de la transformation !
Du coup lorsque tu introiduit un bug dans le HTML généré, le moteur de rendu peut changer de mode de fonctionnement, et donc modifier tout le rendu, sans qu'il soit possible de trouver ce qu'il se passe. Le debug est donc très difficile.
C'est en tout cas la seule limitation que j'ai rencontré.
Ceci dit, niveau support, je n'étais pas très embêté, tous les utilisateurs du site où j'avais utilisé ce système étaient équipés de IE, qui sait faire de la transformation XSL depuis la version 5.
Pour FF, je ne sais pas depuis combien de temps c'est supporté (pas mal de temps aussi). Pour les autres navigateurs par contre, aucune idée.
A noter tout de même un élément TRES gênant avec XML/XSL côté client :
1/ Toutes les variables "cachées" utilisées dans ton XML pour faire le rendu XSL sont visibles. C'est pas forcément toujours très heureux, puisque la source XML et XSL sont visibles (et ça peut donner des idées à un petit matin pour tenter de corrompre le fonctionnement du site)
2/ La moindre erreur à la con, et le rendu ne se fait pas du tout. Ca va du guillement ou signes "&", "<" et ">" mal gérés au problème de charset. C'est très chiant quand t'as une page "caractère non confome rencontré à la ligne 1" et qu'il est impossible de voir quoi que ce soit (aussi bien pour l'utilisateur final qui est complètement bloqué que pour le dev qui ne peut pas récupérer la moindre info utile lors de l'erreur)
3/ Un utilisateur peut très aisément écrire un "butineur" qui va venir télécharger ton flux XML afin d'alimenter une base à lui, genre comparateur de prix, etc. Et tu n'as aucun moyen pour te protéger dans ce cas.