For the time:
dt is the time between the last frame and the current one. It's used in cases where this makes sense:
rate * time = amount
For example say a car is going 100 pixels per second then the distance it moves in a frame is
100*dt = distance
In the same way if your rate of earning money is (Buy1Value*Buy1Stock) and you can find the amount you earn per tick with:
(Buy1Value*Buy1Stock)*dt
Now if you want to update the money with a "every x seconds" then "x" is the time you multiply by instead of dt.
Every 1.0 seconds
add (Buy1Value*Buy1Stock)*1.0 to money
Both are framerate independent, and you should get the same amount added per second either way.
For the text:
If you want to switch over to spritefonts, which are faster at rendering, you'll have to manually change everything over. You can keep the normal text objects instead and make it a bit faster if you set "webgl" to off, but that may not be an option if you want to use effects.
And lastly the mouse "bug":
Mouse.x and mouse.y use the mouse position on the first layer. I haven't opened your capx but I'd assume the first one is the hud which doesn't scroll. You can use the Mouse.x("layer") expression instead to get the mouse on the layer that scrolls instead.