Si j'ai bien compris, tu stockes l'orientation de tes objets sous la forme d'angles d'Euler. Et tu voudrais obtenir les nouveaux angles d'Euler après une rotation d'angle et d'axe donné ?
La matrice obtenue via CreateFromAxisAngle retourne une matrice de rotation autour de l'axe donné pour l'angle donné. Appliquer cette matrice à ton vecteur rotation n'est pas très utile dans le sens où la rotation du vecteur qui contient les angles d'Euler n'a aucune réelle signification (à moins que j'ai oublié quelque chose).
D'une manière générale, stocker l'orientation d'un objet sous la forme d'angles d'Euler n'est pas une très bonne idée. Les quaternions sont autrement plus maniables et cela simplifierait grandement ton problème.
Si tu souhaites vraiment utiliser les angles d'Euler, alors la solution est de récupérer les vecteurs de la base de l'espace local de ton objet, avec ceux-ci tu construit la matrice de rotation qui correspond à l'orientation de ton objet et tu appliques la matrice 3x3 obtenue par CreateFromAxisAngle à cette matrice de rotation. Tu obtiens alors une nouvelle matrice correspondant à la nouvelle orientation de ton objet, tu peux en extraire les vecteurs de base de ton nouvel espace local et en déduire les angle d'Euler. C'est une façon de faire assez pénible, le mieux c'est encore d'utiliser des quaternions.
NB : Ces souvenirs ne sont pas tout frais et je peux me tromper largement.