When you indicate that the 'inputs work fine', this is really just CX Programmer showing you that the state of the input is 'ON', just as if you were monitoring in the Watch Window. This does not indicate that the ladder has been downloaded.
If the hardware and software outputs do not work, here are the things to check:
1. Go online with CX Programmer, and do a 'Compare with PLC' to check that the ladder in the software matches what is in the PLC. It is possible that you did not download the ladder, or there is a memory card in the PLC that is reloading ladder on PLC power cycling.
2. Verify that where you have placed the ladder is running. Make certain that it is not after an END instruction, in a Task that is not running, in a Subroutine that is not being called, etc.
3. Set one of your new outputs on from CX Programmer (Set, not Force Set), and see if it stays on. If it immediately turns back off, then something else in the program is turning it off. Use the Address Cross Reference tool to find any other use of that address.