My feeble attempts thus far were to use CR instead of Smithy, but this failed even when CR starts 5/2 and the Smithies start 4/3. That Silver really matters, I guess...
A sneaky Thief is too slow to matter. My bot ends up with a lot more Golds and Silvers, but not enough VPs of course. I have tried tweaking the Thief buy until my opponents had some money, but by that time it was already too late to really profit from it.
+Buys don't matter much in the base game, because with $7, it will still only buy 1 Gold for example. It may only matter in the end if it could ever get an extra Estate. Those +Buys are only handy with expansions with nifty $2's like Hamlet and some more elaborate strategies.
I could only 1-up the current Smithy by a small margin (~3%) by including some Libraries (modified BM for it):
<player name="Davio" author="Geronimoo" description="A money only strategy for 3 or 4 players">
<type name="ThreePlayer"/>
<type name="BigMoney"/>
<type name="Bot"/>
<type name="Province"/>
<type name="UserCreated"/>
<type name="FourPlayer"/>
<buy name="Province">
<condition>
<left type="countCardsInDeck" attribute="Gold"/>
<operator type="greaterThan" />
<right type="constant" attribute="0.0"/>
</condition>
</buy>
<buy name="Duchy">
<condition>
<left type="gainsNeededToEndGame"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="5.0"/>
</condition>
</buy>
<buy name="Estate">
<condition>
<left type="gainsNeededToEndGame"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="2.0"/>
</condition>
</buy>
<buy name="Gold"/>
<buy name="Library">
<condition>
<left type="countCardsInDeck" attribute="Library"/>
<operator type="smallerThan" />
<right type="constant" attribute="2.0"/>
</condition>
</buy>
<buy name="Smithy">
<condition>
<left type="countCardsInDeck" attribute="Smithy"/>
<operator type="equalTo" />
<right type="constant" attribute="0.0"/>
</condition>
</buy>
<buy name="Silver"/>
</player>