Hi
Are you sure about the frequency source because 50Hz is no problem if you really have 1.56MHz (for example).
The API doesn't explain how to control things so you will need to study its code and work out how the pre-scaler needs to be set (I see that the pre-scaler value is read inside the call from the control register in order to calculate the value, meaning that the pre-scaler needs to be configured beforehand somehow).
Below I used the uTasker project and K60 simulator to generate 50Hzz on PRC3 (FlexTimer 0 - channel 3), using 100MHz core, 50MHz bus clock and /16 pre-scaler, which gives exactly 50Hz output as (see simulation below):
PWM_INTERRUPT_SETUP pwm_setup;
pwm_setup.int_type = PWM_INTERRUPT;
pwm_setup.int_handler = 0;
pwm_setup.pwm_mode = (PWM_SYS_CLK | PWM_PRESCALER_16 | PWM_EDGE_ALIGNED);
pwm_setup.pwm_reference = (_TIMER_0 | 3);
pwm_setup.pwm_frequency = PWM_FREQUENCY(50, 16);
pwm_setup.pwm_value = _PWM_PERCENT(20, pwm_setup.pwm_frequency);
fnConfigureInterrupt((void *)&pwm_setup);

If you continue having problems simply download the open source uTasker project from GITHUB since it allows simulation and higher levels of abstraction in order to avoid such problems (also code will run on almost and Kinetis parts without needing to change libraries and such - eg. if you want your K60 project to later run on a K64 or KL25 just change one define to do the same thing on the other chips).
Regards
Mark