The idea of the riders keeping their points from the qualifying heats is good. However as the organisers are determined to use the placings from the final to decide the podium then the points system just needs to be slightly altered. Riders in the final should get 25, 20, 18 or 16 points depending on their position. All other riders can keep their points from their qualifying rides along with their semi final point if they got one.
At least that way we could avoid the farcical situation of a rider who didn't even make the final scoring more points than the rider who finished 'second.'