Hi scuzzy,
It looks like Michelle has the right idea. It deals with the fact that arrays can have indefinite size, while clusters have a fixed and well-defined number of items within them. If you examine the output from the Array to Cluster VI, you will see that it generates a cluster of of 9 sub-clusters (where each subcluster has a time and setpoint value). You can also see this by the menu that comes up when you click an entry in the Bundle By Name VI and see your options listed as setpoint profile[0], setpoint profile[1], etc. all the way to [8]. I am not certain why 9 items is picked as the length to make that cluster.
Then when you take that cluster and only replace the setpoitn and time values for entry 0, but don't change any of the others, their values are set to time=0 and setponit = 0 for all 8 of the other items in the cluster. If you put an indicator up to the array output when you convert back from a cluster to an array, you will see it is 9 elements long, and all but the first output you explicitly set with your ramp up logic have zeros for time and setpoint.
If you instead take a 2-element cluster and bundle in your values into it and then built it into an array, you will get a proper array out which only has the number of times and setpoints in it which you specify. (You can use a Build Array VI to do this, or you can use a for loop with an auto-indexed output if you like)
I have made a screenshot from an example VI (also attached) which might help you understand what's going on better.