You have q in equations 5 and 6 that you probably meant to be q1.
I found those when I tried bumping the WorkingPrecision up to 128, which meant I had to adjust your machine precision constants, wondering if your wide variation in the sizes of your exponents might be behind the problem, and that gave
NDSolve The initialization of the method NDSolve`StateSpace failed.
That might be the hint that someone needs to let you know how to change methods.
Your wording is sort of implying that you are setting f=0 in your equations to get rid of terms. That might be fine when a term is multiplied by f, but you have two cases where a term is divided by f.The result of setting f to zero or taking the limit as f goes to zero for those is going to be very different. Do you actually mean that you are just removing terms and not considering what the value of f might be?