Try to define profileTabPanel as UIComponent, getters & setters too and cast to UITabPanel internally in setter.
The issue appeared because Seam Bean and HtmlTabPanel are loaded by different classloaders. The bean's class HtmlTabPanel does not match HtmlTabPanel class loaded in application. The workaround above should work. However, you can meet other similar problems in future having such environment configuration. Consult with the Seam documentation how to avoid unexpected ClassCast exceptions.