This exception is happening because the SQL decimal type will map to the C# decimal type, and the default Parse behavior for decimal doesn't allow scientific notation. I'm reluctant to change that ...
C# decimal values don't always fit into sql fields. Although an error is raised when one tries to store a value, sometimes you just need to know before that its going ...