In the Stratix III Handbook, look up the "Stratix III Global Clock Control Block". This shows the mux for getting onto the global. As you can see, the dynamic clock selelct chooses between two dedicated clock inputs(CLKp pins) and 2 PLL outputs(PLL Counter Outputs). The other mux in the diagram is static, i.e. it's chosen during configuraiton. So it looks like you're trying to drive it with four dedicated clock pins, which won't work.
So it sounds like you have four dedicated clock inputs you're muxing between, and were originally doing this in logic(which worked), but then drove this into a PLL(which didn't). Why were you trying to drive this into a PLL? (The first thing a PLL does is clock tree compensation, but once you've done general logic clock muxing, this advantage doesn't make sense. But you might be trying to use the PLL for something else, like to make different clock frequencies or do phase shifts.)
Anyway, I would suggest either:
- Muxing the four clocks in logic and not using a PLL(and knowing what you're doing, i.e. glitch control, timing analysis, cross-clock analysis, etc.)
- Having all four clocks go through individual PLLs and then mux them in logic
- Don't mux your clocks(may not be an option) and design around what you're trying to do, i.e. have a master clock domain and then the data streams coming in on other domains connect to the master through asynch FIFOs.