Este tópico da lista de discussão parece explicar esses problemas; citando a segunda msg:
The current code in bashhist.c:maybe_append_history() (which has existed for at least 15 years) seems to not handle the case where the number of history lines in the current session is equal to the number of history list entries. That is, the code won't append new lines if it doesn't think there were any lines read from the history file when the shell started. That seems wrong, and I've attached a patch that fixes it. However, the code has existed in its current form for so long that I'm wondering whether or not there is some other reason for it.
(Chet Ramey, GNU bash mailing list)
Além disso, o changelog para 4.2 possui as seguintes texto:
+ 8/13
+ ----
+bashhist.c
+ - in maybe_append_history, change check for history_lines_this_session
+ so that we append the lines to the file if it's equal to the value
+ returned by where_history(). This means that without this change,
+ the history won't be appended if all the lines in the history list
+ were added in the current session since the last time the history
+ file was read or written. Fixes bug reported by Bruce Korb
+ <[email protected]>
(git.savannah.gnu.org, bash git repo)
Obviamente, precisamos obter uma versão mais nova do bash instalada para resolver esse problema.
Espero que isso ajude alguém mais adiante.