I can really only answer to the Microsoft part of this question. You'll have to go to the vendor to find out licensing on Crystal Reports. You are free to redistribute any software developed with Microsoft Visual Studio .NET. The .NET Framework is free to distribute. However, that doesn't mean that the client won't need licenses from Microsoft to run the application. If your application is a simple desktop application, then there isn't anything beyond the license of the operating system. If your application is a Web application, the client will need the appropriate version of IIS and possibly Windows Server (depending on the type of Web application). If your application depends on particular version SQL Server, the client will need to have the appropriate licensing for SQL Server as well. The same holds true for any other Microsoft server platforms your application may use. My personal experience is that you can get away with relatively low licensing costs if you plan carefully.
This was first published in April 2004