Finally I got WhatAapp to work on my iPhone 3G iOS 4.2.1 JB.
This is the method I used:
I have modified the version name of the WhatsApp from the info.plist file. In order to do that, I have opened the mentioned file with the plist viewer integrated in the iFile App (Cydia). In my case, the file was located under the path:
I know that the location 1082EBD1-0453-4C21-B82F-134E914978D1 is not unique and that you might have another randomly (?) generated path name that holds your WhatsApp directory and if you don't want to search for it manually (like I did) there is a dedicated software that can do it for you. Google for it as I forgot its name.
Once the info.plist file is located open it and modify the CFBundleVersion string from 2.8.4 (latest running on iOS 4.2.1) to 2.8.7 (latest available).
Save and close.
Open WhatsApp. When prompted for the 3-digit activation code go back to your mobile number selection. Insert a fake one (I put another WhatsApp mobile nuber) and rather than confirm it cancel it and type in your real number.
Voila, the trick is done!
No activation code request anymore.
I hope it works for you too.