It must be that the `cloneSource.CurrentTechnique` is null itself.  

I just did a quick test and it seems that the behavior here is incorrect anyway.  In MS XNA CurrentTechnique always equals Techniques[0] after a Clone()... it does not matter what the current technique is on the original effect.

So if you remove the loop above which searches for the correct technique and replace your hack with simply:

```
CurrentTechnique = Techniques[0]; 
```

We should be good.