Poor performance of SVM after training for rare events
This I can say because I ran the trained model on the entire dataset
  again (re-trained it) an predicted on the same dataset.


You seem to be making a fundamental mistake here. If you train and test on the same data, your performance will not be representative of how the model can perform on unseen data points.

Make sure that you train and test on different datasets. If the difference in performance persists, make sure that the validation dataset is representative of your training set. If it's not, this might explain why the model is not performing well on the validation set.