Why does FEC seem to make BER worse at low Eb/N0?
This is a behaviour that is commonly outlined in some textbooks and tutorials on FEC, but usually in the form of an observation. For instance, Turbo Codes are sometimes characterised by their Threshold $E_b/N_o$, which can be considered as the minimum SNR per bit from where the BER starts to decrease. I have not seen a formal explanation for this property, but it can be deduced at least for some types of codes I assume. In this Wikipedia article, for instance, it is explained as a consequence of the risk-polling effect that comes from the noise averaging capability of FEC. Let me complement this, also by an intuitive approach. 

Consider for instance the use of a $(n,k)$ binary block code with hard decision decoding. The maximum number of correctable bit errors for this code is commonly denoted by $t$. 
If the number of bit errors within each transmitted block is higher than $t$, then the receiver will not be able to recover the original codeword. Moreover, the received block will be at roughly the same distance of multiple codewords within the set of size $2^k$. The decoder then picks one of those codewords with high uncertainty, which results in a BER close to 0.5.

Simply put, a few bit errors - though above the error correction capability $t$ of the code - may result in a complete block error, which explains why FEC underperforms the uncoded system for a certain SNR range.

This is why in systems that operate at low SNR or when errors appear in bursts, it is a good idea to use interleaving in order to spread the bit errors along several blocks and keep the number of bit errors per block below $t$.