Aufsplittung in
DLL's würde ich dir nicht empfehlen, da es das ganze unnötig komplizierter macht - Du musst einfach drauf achten, wie die anderen schon sagen, dass du dein Programm schön objektorientiert aufbaust, gut kommentiert und evtl. sogar dokumentiert. Dann solltest du keine Probleme haben.
Ich habe in meinen Programmen immer eine TCore, die die Hauptklasse des Programms ist und alle Unterfunktionen bereitstellt. Wenn ich z.B. einen horizontalen Farbverlauf machen will, erledigt mir das Core.Graphics.GradientH, etc.
Gruß
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer