I had this problem going from v0.9.4 -> v1.0.0 and now still have it going from v0.9.4 -> v1.0.1 but now I have additional information about it. See here for my original post.
The tl;dr is
$ ./nodebb upgrade
1. Bringing base dependencies up to date... OK
2. Checking installed plugins for updates... OK
3. Updating NodeBB data store schema...
18/3 15:15 [1511] - info: Beginning database schema update
18/3 15:15 [1511] - info: [2015/09/30] Converting default Gravatar image to default User Avatar skipped
18/3 15:15 [1511] - info: [2015/11/06] Gravatar removal skipped
18/3 15:15 [1511] - info: [2015/12/15] Upgrading chats
18/3 15:15 [1511] - info: adding message 1 to new roomID 1
18/3 15:15 [1511] - info: adding message 2 to existing roomID 2
18/3 15:15 [1511] - info: adding message 3 to existing roomID 2
18/3 15:15 [1511] - info: adding message 4 to new roomID 2
18/3 15:15 [1511] - info: adding message 5 to new roomID 3
18/3 15:15 [1511] - error: [upgrade] Errors were encountered while updating the NodeBB schema: ERR value is not a valid float
OK
NodeBB Upgrade Complete!
Before deleting the "message:x" keys from my redis database (to attempt the upgrade again) I noticed that message:5 was different than the other message keys. Specifically it seems the upgrader is choking on message:5
"Bad" Message 5 key:
0_1458338042461_redis-message5.png
"Good" message key:
0_1458338006166_redis-message6.png
So it appears that the NodeBB upgrader does not like messages that do not have a touid or fromuid or possibly timestamp information. Should this be reported as a bug?