Thanks for all the help guys, here's a similar hand that I think I played better (please comment if not!). Villain limps 50% pf, haven't noticed much else.

Code:
iPoker No-Limit Hold'em, $0.02 BB (9 handed)

Button ($3.31)
SB ($0.74)
BB ($1.52)
UTG ($1.82)
UTG+1 ($0.89)
MP1 ($2.11)
Hero (MP2) ($4.54)
MP3 ($1)
CO ($1)

Preflop: Hero is MP2 with Kd, Ks
UTG calls $0.02, 1 fold, MP1 calls $0.02, Hero raises to $0.12, 5 folds, UTG calls $0.10, MP1 calls $0.10

Flop: ($0.41) 5d, 2d, 10c (3 players)
UTG checks, MP1 checks, Hero bets $0.30, 1 fold, MP1 calls $0.30

Turn: ($1.01) Qd (2 players)
MP1 bets $0.25, Hero raises to $0.76, MP1???
Stacks are big enough this time that I don't think I can shove the turn since only better will call me, is that right?

I think his range is similar to before:
Nut flush draw: Adx
Connecting diamonds: 3d4d+
Straight draw: 34s
Sets: 22 55 TT QQ (although he'd probably raise or c/r flop)
Overpairs: JJ AA (probably raise preflop or flop)
Top pair, flush draw: T+diamond or Tdx
TPTK: AT
Two pair: QT

What I'm not sure about is how this range changes once he calls or raises. I'm guessing he raises with any flush, maybe nut draw. Pokerstove gives me 40% against this range and I'd be getting 3:1, so I guess I call here.

If he calls I've got no idea... as far as I can tell it could be anything from his whole range to nut flush draw only. Getting check/called on multiple streets with a good hand is where I seem to lose lots of money.
For example if the river comes a diamond and he checks then I'm probably too scared to do anything but check behind.

Is there something I can do differently with the betting to avoid this, or a way to know his range I'm missing?