some basic operational "rules" for vlans, trunks and mstp:
1) alway configure trunks, then connect ports together
2) trunks must be coterminous, and should be same "type" (lacp or hp trunk) on each end
3) trunks should be same speed and media type (will work if not matched, but results are not optimal if speeds are different)
4) creating a trunk will remove those ports from all vlans, creates a new interface "trk'x'" and make the trk interface untagged into vlan1
5) put "new" trunk interface (trk1) into vlans
6) for mstp, all vlans are a member of the IST by default...as you create instances, you then define which vlans are in each mstp instance
7) the mstp 'config name', 'config revision' and instance definitions MUST be the same on all switches in the mstp domain
8) you can create vlans and trunks in any order, just put the trunk interface into the vlan(s) either tagged or untagged as appropriate
9) i never use dynamic vlans...alot of static config functions can't be done...they will always be in the IST for mstp
10) ports 25/26 can be used for trunks, if using the same media...if planning on using the fiber mini-gbic, you must have the mini-gbic inserted first, then define the port into trunks/vlans
-----
i would "build" this system in this order:
1) configure vlans on all switches
2) configure trunks on all switches
3) connect switches on the trunk links
4) put trunk interfaces into vlans
5) test config (ping devices in all vlans on all switches)
6) config mstp on all switches
7) repeat step 4
------
basically you are trying to do 3 things at once, and altho the order is not absolute, as you have seen, doing some tasks in different order causes not the desired results...
hth...jeff