Так что это тот случай, когда CS4 слишком умный для своего блага. Поскольку вы никогда не явно ссылаетесь на рассматриваемые классы таким образом, чтобы компилятор мог определить во время компиляции, что он не включает эти классы в ваш SWF - отсюда и ошибка.
В Flex вы можете обойти это с помощью аргумента командной строки, но это не так в CS4. Вместо этого у вас есть явная ссылка на классы, которые вы хотите использовать хотя бы один раз, таким образом, чтобы компилятор мог их понять. Например, я сделал простой SWC, который содержал символ с его классом, установленным в «TestCircle». В коде, который использовал SWC, у меня был следующий код, и он работал просто отлично:
import flash.utils.getDefinitionByName;
TestCircle;
var test:MovieClip = new (getDefinitionByName("TestCircle") as Class)();
addChild(test);
Если вам захочется придумать, вы можете написать небольшой скрипт, который откроет SWC-файл (это всего лишь zip-файл), прочитайте XML-манифест, который находится внутри, и автоматически создайте специальный класс «includeder». Но, как говорится, я оставлю это как упражнение для читателя! ; -)
Надеюсь, это поможет!