Recently I have been using the SSIS Script Task and Script Component quite heavily. For those that don't know, these items use Visual Studio for Applications (VSA) under the covers.
There is a peculiar limitation of VSA that requires you to place any DLLs that you want to reference into the Microsoft.Net\Framework folder of your machine - it isn't enough to GAC it.
Happily this only needs to be done on development machines because this is a design-time requirement. When the VSA apps run they use DLLs in the GAC - they don't need to be in the Microsoft.Net\Framework folder. Or so it seems to me anyway. To prove this I changed the name of my DLL in the Microsoft.Net\Framework folder and sure enough I got design-time errors but my packages containing script tasks/components that referenced that DLL still ran successfully. One caveat - this will only work if the script is pre-compiled - so make sure the PreCompile setting on your script task/component is set to TRUE.
-Jamie
UPDATE 2007-04-22: Michael Entin has provided more useful information here: http://blogs.msdn.com/michen/archive/2007/04/22/com-references-within-an-ssis-script-component.aspx regarding how to build interop assemblies for COM components. Very useful stuff.