I couldn't find any info specifically referring to MIDlets. But, I found this, which says:
Timestamping ensures that code will not expire when certificate expires. If your code is timestamped the digital signature is valid even though the certificate has expired. A new certificate is only necessary if you want to sign additional code. If you did not use the timestamping option during the signing, you must re-sign your code and re-send it out to your customers.
So, it sounds like the wiki article is misleading, and your experience is normal unless you specifically sign with the "timestamp" option. The next question is obviously: how to sign with a timestamp?
Every Code Signing Certificate is purchased with a specific validity period. The digital certificate can be used to sign code as frequently as needed during that validity period. When the digital certificate expires, all digital signatures that depend on that digital certificate expire also unless the signature includes a time stamp. A timestamp option shows when code was signed, allowing customers to verify that the code signing certificate was valid at the time of the digital signature.
J2SE's jarsigner tool appears to have an option for providing the URL of a Time Stamp Authority, like:
But I don't see a similar option in jadtool.
Maybe you can't do this, and signed apps always expire...?