When I needed to split up rows I used the multi-cast, but I had a fixed amount of rows (ie. make one row into three).
In your case I would go with a script component.
If don't want to script in SSIS you could also write the data to an SQL table, and write your own SQL stored procedure to return the rows you want.
Probably you could also do it with a SELECT statement. Just ask the same questions with SQL:
"how can I select all dates between two dates in SQL"
Detail Multicast
- Connect a multicast to your datasource
- drag the output to a "add column"
- in the add column add an expresion that does "startdate +1"
- repeat with connecting the next ouput from the multicast to a new "add column" where you do startdate+2
- join all the add column outputs with a "union"
That way will only work if you have a small maximum duration between the dates, if you have 40 days you would need 40 multi cast.