ok ho provato cosi':

<%
sql="SELECT * FROM COSTI WHERE ID_VI='35'"
aprirs sql
do until rs.eof
night=(DateDiff("d", rs("inizio"), rs("fine")))
for e=0 to night
if len(day(rs("inizio"))+e)=1 then
zer="0"
else
zer=""
end if

if len(Month(rs("inizio")))=1 then
zerm="0"
else
zerm=""
end if

d=zer&day(rs("inizio"))+e
m=zerm&Month(rs("inizio"))
%>
<%data=d&"-"&m&"-"&Year(rs("inizio"))%>
<%=DateAdd("d", 0, data)%>

<%
next%>
<hr />
<%
rs.movenext
loop
%>

funziona...

pero quando arrivo al punto in cui cambia il mese mi da errore:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'data'

e fa riferimaneto alla riga

<%=DateAdd("d", 0, data)%>