@RVAphysics There are two situations for VCCS courses. One will be for students enrolled in a CC then transferring to Tech - they should be fine in terms of taking classes at their CC. The other would be for students who start their freshman year at Tech, then try to take courses at CC to transfer back.
Tech can absolutely restrict students from taking certain classes at a CC or other university, and other schools do this as well. With engineering going through changes, they might make the graduation requirements outlined so that you cannot take certain classes outside of Tech. There are already procedures in place for engineering students who want to take classes elsewhere (https://www.eng.vt.edu/students/transferring-credits) and they can also just deny those requests. Even if you do end up taking it at a CC, the university can still deny credit toward your major or toward the required number of credits for graduation.
There are many reasons for this at Tech and other universities. Tech students have the opportunity to take their courses at Tech; VCCS students do not. So it makes sense for those transferring in to get credit for what they take as part of their VCCS requirements and to require Tech students to take certain classes on campus.