Nie do końca rozumiem twoje pytanie. Czy chodzi Ci o tworzenie nowych projektów w ramach jednej solucji, z których potem powstają dll'ki? Czy jako zupełnie niezależne od siebie projekty/solucje? Nie wiem też, o jakiej skali projektu mówisz. Rozbijanie na projekty malutkiego programu nie ma większego sensu. Ale już przy programie który ma kilkadziesiąt klas warto się zastanowić nad rozbiciem na osobne projekty.
Druga rzecz, to dlaczego "zwracając wartość 0"? Nie lepiej po prostu nic nie zwrcać, czyli metoda typu void, skoro za każdym razem i tak będzie ta sama wartość?