New answers tagged gui-construction
Problem 1 Your first problem seems to be related to a subtle bug (?) which results in a Dynamic[t] to be treated slightly different than a Dynamic[something[t]]. You can get the first button to work with either double negating the boolean as you did or by using TrueQ[t] (which might be a good idea in the sense of of defensive programming anyway). So this ...
There are some options to Button that let you change the way a button looks. For example, Appearance and BaseStyle. Also, you can use a Graphics object as the button label, which will give you a lot of control over appearance. See Button for more detail. In particular, look at Option > Neat Examples.
Top 50 recent answers are included