[Hero, G2 Touch General] krzyk:
I'm new in the business, so I'm not sure if the root is necessary. You can try it, anyway to see if you will be able to push and pull files from the directory where Stocks stores its database.

Here's what I did:

Enable USB Debugging in Settings -> Applications -> Development -> USB Debugging

Download Android SDK from http://developer.android.com/sdk/index.html

In command line go to subdirectory tools of Android SDK

Close Stocks app and remove Stocks widget from the screen

Connect Phone via USB

... (Beginning of the optional part) ...

Go to Android shell

adb shell

List any processes to see if there's a com.htc.android.Stock process (like in this case)...

ps | grep Stock

7605 10007 130m S com.htc.android.Stock

7619 0 2156 S grep Stock

Kill any Stock processes (using the value in the first column):

kill 7605

Exit to command line

exit

... (End of the optional part) ...

Pull the Stock database:

adb pull /data/data/com.htc.dcs.service.stock/databases/stock.db stock.db

Sample output:

d:\Projects\Android\tools>adb pull /data/data/com.htc.dcs.service.stock/databases/stock.db stock.db
568 KB/s (5120 bytes in 0.008s)

Backup, just in case:

copy stock.db stock_backup.db

Run sqlite3

sqlite3 stock.db

Enable headers in sqlite:

.headers on

List contents of quotes table:

select * from quotes;

Sample output:

sqlite> select * from quotes;
_id|_name|_symbol|_price|_change|_percent|_open|_high|_low|_volume|_link|_type|_sequence|_updatetime
2|CHF/PLN|CHFPLN=X|3.08299994468689|0.0116999996826053|0.381900012493134|3.07209992408752|3.08550000190735|3.07010006904602|0|http://m.yahoo.com/htcwf/search?p=CHFPLN=X||0.0|1278490511305
3|USD/PLN|USDPLN=X|3.27649998664856|0.0200999993830919|0.617200016975403|3.25550007820129|3.27959990501404|3.24499988555908|0|http://m.yahoo.com/htcwf/search?p=USDPLN=X||100.0|1278490511305
4|EUR/PLN|EURPLN=X|4.1217999458313|0.0151000004261732|0.367700010538101|4.11250019073486|4.12349987030029|4.10799980163574|0|http://m.yahoo.com/htcwf/search?p=EURPLN=X||200.0|1278490511305
5|EUR/USD|EURUSD=X|1.25789999961853|-0.00469999993219972|-0.376199990510941|1.26170003414154|1.26259994506836|1.25689995288849|0|http://m.yahoo.com/htcwf/search?p=EURUSD=X||300.0|1278490511305
6|EUR/CHF|EURCHF=X|1.33689999580383|-0.000899999984540045|-0.0710000023245811|1.33879995346069|1.33910000324249|1.33609998226166|0|http://m.yahoo.com/htcwf/search?p=EURCHF=X||400.0|1278490511305
sqlite>

Note the last _id (here 6) and add new currency with _id higher by 1 (so here, 7):

insert into quotes (_id, _name, _symbol) values (7, "EUR/GBP", "EURGBP=X");

Check if it has been added:

select * from quotes;

Sample output:

sqlite> select * from quotes;
_id|_name|_symbol|_price|_change|_percent|_open|_high|_low|_volume|_link|_type|_sequence|_updatetime
2|CHF/PLN|CHFPLN=X|3.08299994468689|0.0116999996826053|0.381900012493134|3.07209992408752|3.08550000190735|3.07010006904602|0|http://m.yahoo.com/htcwf/search?p=CHFPLN=X||0.0|1278490511305
3|USD/PLN|USDPLN=X|3.27649998664856|0.0200999993830919|0.617200016975403|3.25550007820129|3.27959990501404|3.24499988555908|0|http://m.yahoo.com/htcwf/search?p=USDPLN=X||100.0|1278490511305
4|EUR/PLN|EURPLN=X|4.1217999458313|0.0151000004261732|0.367700010538101|4.11250019073486|4.12349987030029|4.10799980163574|0|http://m.yahoo.com/htcwf/search?p=EURPLN=X||200.0|1278490511305
5|EUR/USD|EURUSD=X|1.25789999961853|-0.00469999993219972|-0.376199990510941|1.26170003414154|1.26259994506836|1.25689995288849|0|http://m.yahoo.com/htcwf/search?p=EURUSD=X||300.0|1278490511305
6|EUR/CHF|EURCHF=X|1.33689999580383|-0.000899999984540045|-0.0710000023245811|1.33879995346069|1.33910000324249|1.33609998226166|0|http://m.yahoo.com/htcwf/search?p=EURCHF=X||400.0|1278490511305
7|EUR/GBP|EURGBP=X|||||||||||
sqlite>

Quit sqlite:

.quit

Push the file back to the phone:

adb push stock.db /data/data/com.htc.dcs.service.stock/databases/stock.db

Sample output:

d:\Projects\Android\tools>adb push stock.db /data/data/com.htc.dcs.service.stock/databases/stock.db
341 KB/s (5120 bytes in 0.014s)

Restart phone.

See if that worked :)

I hope HTC (or Yahoo) will be able to fix that, because the above is really a long process...