Delphi 5 is the oldest version of Delphi that expects component libraries to be in the Design/Runtime format (two parts per library: namely an installable ToolsAPI-interacting part and a pure runtime part). Whilst this was primarily done to avoid having the ToolsAPI become de-facto open-source, it actually had the benefit that libraries could now be distributed without the parts that interacted with the IDE, which usually made the runtime parts smaller. Whilst you could take this design approach with Delphi 4, it was enforced by Delphi 5 by severely restricting how the ToolsAPI could be used. Hence it generally requires a fair amount of work to make a post-Delphi-5 library support the Delphi 4 environment. Which is why very few modern Delphi component libraries extend their legacy support backwards beyond Delphi 5 and earlier, and also why pre-Delphi 5 component libraries tend to require extra work to allow them to be used in the later compilers.