The FSPS setup module reads imf_lower_bound from the imf_lower_limit variable at instantiation and uses the former variable when computing the weight of the lowest mass isochrone point. However, only the latter variable is accessible through python-fsps. In practice this means that changing imf_lower_limit to any value below the mass of the lowest-mass isochrone point leads to incorrect calculation of its weight.
The best fix for this is probably in fsps itself, but it's probably worth checking sps_setup.f90 for any similar cases.