I feel there are some holes in my reasoning; how would I go about proving this?
No matter whether you have filled shells or not, the sum of formal charges will always be equal to the charge of the molecule or ion.
To show this, we start with the definition you gave:
$$ \mathrm{FC} = \mathrm{V} - \mathrm{N} - \frac{\mathrm{B}}{2} $$
Here, V stands for the number of valence electrons an atom has, N stands for the number of non-bonding electrons of that atom in the Lewis structure, and B stands for the number of electrons in the bonds that atom makes (i.e. 2 for each single bond, 4 for each double bond and 6 for each triple bond).
Now, you can sum over the formal charges using that definition:
$$ \sum_{atoms} \mathrm{FC} = \sum_{atoms} \mathrm{V} - \sum_{atoms} \big( \mathrm{N} - \frac{\mathrm{B}}{2} \big) $$
On the right hand side, the first sum represents the total number of valence electrons of the unbound atoms making up the molecule or ion. The second sum represents the number of valence electrons present in the molecule or ion. This is because the electrons in bonds are counted half for each atom they connect, so every electron in the Lewis structure is counted exactly once (different from checking for octets, where bonding atoms contribute to the octets of both bound atoms).
To summarize, the sum of formal charges compares the number of valence electrons in the atoms (if they were isolated atoms) to the number of valence electrons shown in the molecule or ion. If they are equal, you drew a molecule. If they are different, you drew a cation or anion (depending whether your electron count in the Lewis structure is lower or higher than the total number of valence electrons in the isolated atoms).
Can a neutral molecule have nonzero formal charges?
Yes, individual atoms of a molecule can have nonzero formal charges, as the examples in the comments show. However, the sum of the formal charges should be zero if the Lewis structure is drawn correctly.
Why so complicated?
You could just count all the valence electrons present in the Lewis structure to check to charge of the molecule or ion. However, sometimes the formal charges are already assigned, so then you are dealing with smaller numbers, most of which are zero.
Even if the formal charges are not assigned, you can learn the bonding patterns where the common elements H, C, N, O, F (and other halogens) have a zero formal charge fairly quickly.
For example, nitrogen with a formal charge of zero and a complete octet has 2 electrons that are non-bonding ("lone pair") and six electrons involved in bonding (either as three single bonds or one single and one double bond or one triple bond). If you see a nitrogen with four or with two bonds, check the formal charge.
Let's take the amino acid alanine as an example. This molecule is zwitter-ionic (Ian Bush mentioned this concept in the comments to the question). You can quickly compare the binding patterns above with the Lewis structure below to exclude most of the atoms from a formal charge calculation because they match the known pattern of a zero-formal charge atom in a Lewis structure. All carbon atoms, for example, have four bonds and no lone pairs, so they all have a formal charge of zero. Through elimination, it is clear that the non-zero formal charges are on the nitrogen (+1) and on the bottom oxygen (-1) in the Lewis structure below:
Of course, you can also learn the common non-zero formal charge patterns, i.e. a nitrogen with four bonds (+1) or an oxygen with just one single bond (-1).