Hi @Graeme_Barnes & @sven.meyer,
Hardhat supports multiple Solidity versions in the same project. This isn’t supported in Truffle.
I haven’t tried running OpenZeppelin Contracts 2.x and OpenZeppelin Contracts 3.x in the same project though.
As for a Crowdsale, you could just have a separate project with your Crowdsale contract to use OpenZeppelin Contracts 2.5.1.
The Crowdsale documentation is here: https://docs.openzeppelin.com/contracts/2.x/crowdsales
There is a Simple ERC20 Crowdsale example in the forum too.