Some feedback:
1. It's recommended to use structKeyExists instead of IsDefined:
<cfif NOT structKeyExists(form, "StartDate")>
2. You shouldn't need the # # in most CFML tags:
<CFSET form.StartDate = DateFormat(NOW() - 20 , "'yyyy-mm-dd'")>
3. Rather than use <cfquery> to execute a stored proc, I'd say it's preferable to use <cfstoredproc> :
<cfstoredproc datasource="MyDSN" procedure="MySP">
<cfprocparam cfsqltype="CF_SQL_DATE" value="#form.StartDate#" />
<cfprocparam cfsqltype="CF_SQL_DATE" value="#form.EndDate#" />
</cfstoredproc>
4. You have a typo here:
<CFIF NOT isdefined("EndtDate")>
Should be EndDate not EndtDate. So right now it's probably amending your EndDate to be Now() every time.
I'm unclear if your problem is with what's been submitted from your form, or with the default values you're creating.