You could try to check the following environment variables:
$HISTFILE (contains the path to the file in which the command history is stored)
$HISTSIZE (contains the amount of commands to keep (usually 500 or something))
(thus a 'echo $HISTFILE')

Also, if you have multiple sessions open, only the last one will actually save its commands in $HISTFILE (IIRC).
Furthermore, check the permissions to the $HISTFILE, they should be 600 (or -rw-------), not readable and especially not writeable by others.

Hope it helps, cheers