I am trying to set up an H0-CTRIO in a "Run to Limit" mode. The "rising edge'" and "falling edge" detection doesn't seem to be working as I expected. I am dispensing labels off a roll, and have a sensor to detect the space between labels. If I set it as "rising edge", it will feed a label until the sensor just turns ON, which is correct. The problem is that it won't cycle again, because the sensor remains on. If I switch to "falling edge", it will feed until the sensor just turns OFF, but then won't cycle again, because the sensor remains off... 
In other words, it works fine on a false to true transition if the input starts out in the OFF state, but does NOT work if the input is already true. Is this how it's designed to work? I feel it should look for ONLY the transition, and not care about the state of the input at the start of the cycle...
Unfortunately for your application, that is how it works. I assume by
"cycle again" you mean that when you RESET EnableOutput and then SET it back, that you expect it to take off again. The problem is that the way Run-to-Limit was designed, when you SET EnableOutput and have selected "rising edge" the CTRIO looks at the Input and notices that you are already at the limit (i.e. the Input is HIGH), so it does nothing. In your application you evidently are wanting it to not care about the state of the CTRIO Input (Limit)... however, it DOES care.

It was a design decision. We asked the question, "If I am already at the limit (i.e. HIGH), and I tell the motor to Run-To-Limit, then should the motor move? Or should it recognize it is already at the limit and do nothing?" Our answer was, "It should recognize it is already at the limit and do nothing".
Maybe someone can help with another question. In my application, I would ideally like to use a profile exactly like one of the home search routines. The "Run to Limit 1 at Frequency 1, then continue to Count at Frequency 2" routine is EXACTLY what I need for my application, except that I need to be able to change the pulse frequency via V-memory in the PLC (I am matching the speed of a conveyor, which is variable). I had planned to use the "Automatic Trapezoidal Profile Program Example 2" program from the DL06 user manual, but my stepper drive requires 5V, so I couldn't use the HSIO in my D0-06DD2 PLC. That is the main reason why I purchased the HO-CTRIO card.
Again, unfortunately, you cannot change the frequency of the Home Search profile on-the-fly. Depending, however, on just how variable the
"speed of a conveyor" is, it is possible to configure several Home Search profiles (all having different Frequencies) and to load the appropriate one. In other words, if the conveyor has several selectable speeds (e.g. STOP, LOW, MED, HIGH), this would be possible. If, however, the conveyor is truly variable (e.g. controlled by a POT), then this would not work.
As another solution, is it possible to switch from velocity control to position control 'on the fly' with the CTRIO? You are doing it with the home search routine, but is it possible to do using PLC control?
No, this is not possible either. The only on-the-fly thing you could do is just to execute a Velocity Mode move and then a Run-to-Position Mode in sequence in ladders.
Please keep in mind that the CTRIO was not designed to be a true motion-control device; but rather it was designed to count pulses. Everything else it does is icing on the cake (so to speak). It's motion-control capabilities are limited and will fit many simple applications, but certainly not all.