I would imagine the diversion airport would still charge landing fees etc, most of these diversion costs are normally met by the airlines.
When for instance LHR
weather is suddenly bad, eg thunderstorm overhead, or there is a sudden period of single runway ops meaning holding goes through the roof a lot of aircraft don't have enough fuel to hold for LHR
I have seen holding go to over an hour suddenly on occasions.
Lots of aircraft have then diverted and I imagine the airlines met all of the costs of this.
The diversion airports of major airports are normally a lot smaller so there is usualy no problem fitting the aircraft in slot wise. If there are delays for taking off again then aircraft will just have to wait their turn.
Crew duty wise, for instance the long haul flights from UK to the far east carry 'Heavy Crew' so they might have 3 or 4 pilots. This means that they have about 15 - 16 hours worth of duty for a duty that would normally be completed in about 13 hours so plenty of time for diversions. A diversion would drop the allowed hours by an hour as it adds in another sector.
Then there i the 2-3 hours discretion that the crew can use to extend their duty further.
I think with the case of the Hong Kong typhoon I think that a lot of aircraft had to stop at their diversion airports as the crew didn't have enough hours to work while waiting for the typhoon to clear.
The crew would then go to whats called Minimum rest which is either 12 hours or equal to the previous duty if it is more, so if the duty was 16 hours they would have to have 16 hours rest. Sometimes they need more depending on certain things like whether they need to have a local night.