None of this is as contradictory as you make it seem IMO. You sign a guy as a QB he has to play QB, OK but what stops you from putting a 3rd QB on the roster at the expense of a DI? He is just on the roster to stand around in case you need him. It costs you a DI though and DIs are very important to teams these days. Or you use a Canadian QB and it costs you a special teams player and potential depth at other positions.
Now let's say you sign Streveler as a running back for example, now you can put him on the roster with anyone... but I bet the CFL would create a rule to prevent things like that from happening.