Oracle provides the source files for forms and reports so they can be compiled within your unique applications environment. Recall that reports are executed by the concurrent manager using the report runtime component included in the technology stack. The runtime engine version can vary within installations based on your operating system and how current you are with the technology stack. Because of this, reports are recompiled when updated via. a patch or upgrade to ensure they were compiled and saved by the same version of the reports tool that will be executing them. They can also be recompiled in mass (all reports for a particular module, or even all reports for all modules) using the ad utilities or command line scripts.
If you are developing custom reports that will be integrated into your applications environment, I would suggest including a compile step in the migration process to ensure the report is compiled using the reports engine on the concurrent manager server. I’ve seen some issues with reports in the past if the report was developed on a Windows platform using Developer, and then transferred to a unix box for execution but not recompiled. Sometimes strange errors can result.