"犯" is always used before a word, which is a noun represent something bad of people, to describe something bad are occurring.
eg. 犯病,犯坏,犯傻,犯晕,犯浑
In your text, "让我发言或接受采访我就犯晕。", means that " the bad situation "fainting" will occur when you are asked to make a speech. There is no meaning about "often", you also can say 『我今天犯晕』.
So I don't think it is necessary to translate "犯" explicitly in your first sentence. You can just translate it as "always feel faint".
"英雄犯大错误" , there isn't a idiom like this, and the "犯" has the same meaning as "犯晕", "大错误" is something bad of people same as "傻", "坏", "错".
Actually, there is an implicit "often" in this sentence, but not because of the "犯" and it's because of the logic of the sentence. It means that :
If some one is a big man, his mistakes will alway get great influence. so in Chinese, it's same as "英雄犯的错误一般都是大错误".
We have a proverb like this : "淹死会水的",it also means:"被淹死的人一般都是会游泳的"