I can create both spot fleet instances and spot instances from ec2-plugin.
The issue is when a spot fleet instance had been terminated it's still logged in the system and the ec2-plugin can see it. When you delete a ec2-plugin instance it removes it from AWS but can not clean up locally as it falls over the dead ec2 fleet instance. This leaves the ec2 plugin instance still configured locally but with no matching record in AWS so it will cause Jenkins to crash when it tries to start up, also you end up will lots of slave nodes listed.
I will try to capture stack traces next time it breaks and include them, priority was to get Jenkins back up.