I can elaborate a little on this to narrow down your possibilities.
First off, the problem is that when geometries travel too fast and have a small area, they simply pass each other because the physics engine only gets updated each 10 ms (if your timestep is 10 ms). Imagine a bullet of 5px width and a wall of 20px width.
If you shoot the bullet at the wall, the physics engine starts out the bullet... let's say 200px from the wall. Then it moves 25px on each update (each 10ms). When it each the wall, it might be just before the wall, move 25px and be behind the wall.
Now that we have this knowledge, we can find a solution to it.
1) Making your objects slower is obviosly going to solve the problem. Instead of traveling 25px each update it only travel 5px. When it eaches the wall, it will collide with the wall and the correct reaction occurs. Making it slower is not
always a possibility.
2) Make your objects larger does not mean you have to make your bullet the size of an elephant. You can actually just make it longer without making the texture of the bullet longer. This would statisfy the physics engine while the game still
3) Decrease your time step is just saying: Update your physics engine more often. If you update more often, it have a better chance of knowing when the bullet hits the wall.
4) Ray casting is a method where you create an infinite (in computers: very long) line with an angle. So instead of actually creating a geometry that travels from the gun to the wall, you create a line that goes from your player towards
the wall. Farseer Physics can do this for you (Using RayTester), it can even tell you what geometry the ray hits (Like the wall for example). You still need to display the graphics and you still need to know the distance to the geometry and calculate the right
time of impact.
5) Swept collision detection is a method of CCD (Continuous Collision Detection) that prevents tunneling by sweeping the geometry along the geometry path and checks for collisions. This is not yet in Farseer Physics, but we are working hard
to get it to work in the next version (3.0). The method we use is not by sweeping, it is by having a skin around geometries.
6) This one should not be here anymore.
I hope you are able to remove or at least minimize the amount of tunneling you get by using one or more of the items on the list. It is a question about trying them out and tweaking until you get something that works. Unfurtnatly it is a limitation of the
computer (not powerful enough) that is hard to get rid off without any sideeffects.