В том то и суть DLL, что её можно использовать независимо от проекта. Да, вы можете затруднить её анализ, сделав одну экспортируемую функцию со 100500 параметрами, но это всё равно вопрос времени и желания "врага". Ну а под .NET вообще труба, можно использовать ваши классы и дописывать к ним методы не спрашивая вас об этом :)