What you are missing is that your ranges are not locked and move down as you copy the formula down. This gives the false impression that the formula is working for cases when several dates are the same. When you use the whole column instead it doesn't work anymore since the column reference can't move down with the formula.
Using full columns with arrayformulas is generally a bad idea.
A better way to get control of what ranges to use is to convert the data in Pronto Export to an Excel Table (second from left under the Insert banner). The table automatically expand when data is added and the ranges in the formulas are automatically adjusted. This is definitely the way I would do it.
I used a COUNTIF function to solve the problem with retrieving data with the same date. It seems to work but I'm lazy when it comes to testing.
I also used a ROWS function to get the 1, 2, 3, 4 etc that you had typed manually before.
I used an INDIRECT function to make it possible to just copy the formula to the right. However in order to do that the headers has to be exactly the same so I copied the header names from the Pronto Export tab.
Sometimes when copying right with formulas containing Table references the Table references likes to move along to the right and there is no $-sign to lock them with. One solution to that problem is to select the range you want to fill right to (including the column to copy) and then hit Ctrl + R. Another solution is to use the INDIRECT function.
I did the Transfer FROM Canal -table on the Dartmouth -sheet. I assume you can take it from there.
Bookmarks