Padding with zero is not the answer. What you are actually writing as .720 and .1218 are, in fact, not decimals.
As you yourself have suggested, the values 720 and 1218 stand for number of minutes. Thus, the time, in minutes, corresponding to the dates (2015-06-16 at 12:00) and (2015-06-16 at 20:18) are, respectively, 12x60=720 and 20x60+18=1218. You can solve the problem in 2 ways:
1)
Interpret the values 42170 / 720 and 42170 / 1218, respectively, as 42170+720/1439=42170.500 and 42170+1218/1439=42170.846
2)
Take a step back to my last post. You can determine the zero-date of your system as follows.
You know that the date (2015-06-16 at 12:00) is equivalent to (42170 days + 720 minutes) after the zero-date. Converting everything into minutes gives (42170 x 24 x 60 + 720) minutes = 60725520 minutes. You then have
<!--- Test date is 2015-06-16 at 12:00 --->
<cfset myTestDate = createdatetime(2015,06,16,12,0,0)>
<!--- Zero date is 60725520 minutes prior to test date --->
Zero date: <cfoutput>#dateAdd("n",-60725520,myTestDate)#</cfoutput>
This tells you that your zero date is 1899-12-30 23:00, which is equivalent to createDatetime(1899,12,30,23,0,0). You can then use this zero-date as the basis for all further date calculations.
Suppose you wish to find any date corresponding to the format number_of_days / number_of_minutes, for example, 42170 / 1218. All you now have to do is convert everything into minutes and add to the zero date. Thus,
<cfset zeroDate = createdatetime(1899,12,30,23,0,0)>
<cfset newDate = dateAdd("n",42170*24*60+1218,zeroDate)>
<cfoutput>#newDate#</cfoutput>