Greetings,
Given I have not seen your program, it sounds to me like you are turning the port on, switching to a new port, at which time the shift register tracking you are using detects this change in ports, and clears the old port. If your loop executes too fast then you will just see a quick on-off on each port since it will be turned on and then almost immediately cleared when you move to the next port. If this is true, you may want to consider adding a wait VI to your FOR loop.
There is no limit to the number of ports/lines that can be written to from a FOR loop. Most likely the issue exists in your program. Additionally, are you calling a config VI multiple times? Each time config is called all lines will be reset.
Regards,
Justin Britten
Applications Engineer
National Instruments