A List Apart published a great article covering Test Driven Progressive Enhancement. Looks like a good practice, but seems… difficult, for mobile. Over here, we use a few different techniques to (try) overcome broad device support issues.
Box modeling isn't as much a problem, but there’s certainly inconsistencies with other browser standards, like link/active/hover state for href which is idiosyncratic, even for browser whose behaviour should be predictable.
So what do we do? Old-school targeted CSS policies based on user agent detection. Sound labourious? It is. Volantis helps, but brings it’s own problems to the party.
Then there’s mobile specific functional capability. I’m talking about things like vCard support and telephony (WTAI, tel). For those, we rely on design solutions that cater for heavy degradation while still offering a good experience on capable devices. This relies first on the designer’s intimacy with each device's capability and idiosyncracies. Secondly, we rely on some customised control systems (based on databases that hold ‘flags’ against user agent types from field testing) embedded in the mobile application infrastructure. It’s tedious work, and requires high maintenance.