Once you choose a liner system, providing protection for it is key. 12" or more of soil or sand on top will usually do the trick, more if the pond will be cleaned out periodically. I also have spec'd GCL (Geosynthetic Clay Liner) in a small pond and it works well. We also installed a "warning tape" of sorts 12" above the liner to prevent damage during cleaning.
30-mil poly liner will hold water just fine, but it needs to be protected from damage. If not covered with soil it will A) be ugly and B) eventually be full of holes. Cost per SF varies, but for a small job it will be significantly higher (mobilization costs, etc).
You could amend the existing soils with bentonite, and use that as a relatively impervious barrier. Depending on your soil types, 4% to 8% by weight ought to do the trick. If retaining a permanent pool is the only issue and a small amount of seepage is OK (no environmental issues) then this may be a cost-effective way to go. If I remember correctly, granular Bentonite currently sells for about $350/ton. Figure your pond liner volume (6" thick is probably fine), then how much bentonite to add. It has to be added and properly mixed in to the native soils, then compacted for it to be effective. It is a pretty low-tech process than any good earthwork contractor can do.