You can't use
myself::ClassChange(talker, Class_ID);
That will give problems in collision, critical errors, etc
The better way to do it its selling the Subclass Quest "mimir's Elixir" in other NPC and then make the subclasses in the master.
Now, how to stack skills? its simple, modify the lin_getaquireskill procedure on your lin2world database.