Why are you using Cast()? You haven't given us enough code to really judge the benchmark, basically.
Yes, you can use LINQ to write slow code. Guess what? You can write slow non-LINQ code, too.
LINQ greatly aids expressiveness of code dealing with data... and it's not that hard to write code which performs well, so long as you take the time to understand LINQ to start with.
If anyone told me not to use LINQ (especially LINQ to Objects) for perceived reasons of speed I would laugh in their face. If they came up with a specific bottleneck and said, "We can make this faster by not using LINQ in this situation, and here's the evidence" then that's a very different matter.