my problem is that now if I don't use the phone for a few hours like when I'm at work or when I plug it in at night to charge it I get a white screen and have to hold the power and home button for about 10 seconds then turn it back on. What have I done wrong and how do I fix it.
Strange, try restoring it with iTunes to a custom no baseband firmware made with redsn0w. Extras > Custom IPSW, select the stock 4.2.1 IPSW, let it finish making a new IPSW. Then Extras > Pwned DFU to get into pwned DFU mode and restore to the NO_BB IPSW that redsn0w made.
Yes, that would also be a good thing to do. You can downgrade the baseband as a checkbox in redsn0w 0.9.14b2.