If this textarea has been turned into some rich textbox with formatting (e.g. via Javascript), it may be that the client-side code is adding the final line ending (for some reason) and then converting it to an HTML break.
You might try doing a print_r() on the incoming $_POST array and see if the '<br />' is already there. If it isn't, then I assume the script uses [man]nl2br/man somewhere in processing the POST'ed data (which now contains a line break instead of being simply empty, for whatever reason).
You could always replace '<br />' with "\n" (the line break character) and then [man]trim/man the POST'ed data. If the data is simply one line break (as you have said), then trim() will return an empty string.