There are a couple things to understand.
The first is to understand the strength of a hashing algorithm. To replicate a hash, the level of difficulty is the full size of the hash key. Thus, if you already have an MD5 hash, and want to find a pattern that matches it, the difficult is a full 128 bits. But because of discovered problems, we might be able to do this with only 100 bits of difficulty. But, the max we can do is 60 bits of difficulty. So, cracking MD5 in the manner is still impossible with today's knowledge/hardware.
But there is a second concern for hash algorithms: that of creating two things that hash to a new value. It's a sort of meet-in-the-middle attack. It's half the number of bits of difficulty, so for a 128-bit algorithm, it's only 64-bits of difficulty. With known bugs in MD5, that difficulty becomes more like 50-bits, well within the ability of modern computers.
This meet-in-the-middle issue means that SHA-256 has only 128-bits of difficulty. What that means for Bitcoins is to create two transactions that hash to the same value.
Like MD5, we won't break it all at once. Instead, people will shave off a few bits of difficulty at a time, just like how they recently shaved off 2 bits of difficulty for AES. Thus, it'll go from 128-bits of difficulty, to 125, to 120, to 115, and so on.
With Moore's Law adding a bit of cracking power (60-bits today, 61-bits next year, 62-bits the year after), and SHA-256 losing a bit of meet-in-the-middle strength every year, that means we have about 30 years left before it becomes practical to forge Bitcoin transactions.
Bitcoin does do some things to make that harder, but probably in the next 30 years, somebody will figure out a way around those issues. Thus, I'd casually guess Bitcoins have a 30 year lifespan.
That's more than the currency for many mismanaged countries.