Out of curiosity, if you are loading data why not simply perform the date calculation as part of the load script? Correct me if I am wrong but appears your trying to do it in a macro currently.
You can use Date#(YourDateFieldHere,'YYYYMMDD') to convert the date formats to valid QlikView dates, and then simply subtract the one date from the other in order to get the number of days between the two dates. If you want to do some type of default if the date doesn't convert properly use the Alt function to provide an alternative value in the case the Date# returns a null value.
Alt( Date#( StartDate , 'YYYYMMDD' ) , Today() ) as StartDate,
Alt( Date#( EndDate , 'YYYYMMDD' ) , Today() ) as EndDate
Alt( Date#( EndDate , 'YYYYMMDD' ) , Today() ) - Alt( Date#( StartDate , 'YYYYMMDD' ) , Today() ) as DaysElapsed
Hope this is helpful.