I've made a video that might actually help a bit here:
..but perhaps you already know what's going on with the COM and COL. First off, it's ok to put control surfaces ahead of your COM, it is only the static aerodynamic surfaces (wings, fins, etc..) that should be aft of your COM. That being said, control surfaces ahead of your COM should be strictly controlled using ASAS (or some form of control system) as without that they're just the same as a static wing (and thus detract from your stability if they're ahead of the COM). My first thought about your setup is this: you're using aerospikes, which have no gimbaling ability. As your rocket fly's through the atmosphere your control surfaces slowly become less and less effective - what I suspect is happening is at 10000m or so you're hitting a point at which your forward control surfaces can no longer keep you stable (they just can't grab enough air to keep the rocket stable) and your aerospikes, unlike other engines that can gimbal, aren't doing anything to help keep your rocket in the right direction. My recommendation: get some more control surfaces aft of your COM, and one thing that should help is having RCS for when you reach higher altitudes. For rockets without gimbaling nozzles there is no form of control when you're in the vacuum of space without RCS and SAS torque (which isn't a whole lot to begin with). Hope this helps!