Code:
on *:TEXT:!mod*:#: {
  if ($nick isop #) {
    if ($2 == giw) {
      if ($3 == start) {
        msg $chan Giveaway start!
        set %giw on
      } 
      elseif ($3 == stop) {
        msg $chan Giveaway was closed.
        set %giw off
      } 
      elseif ($3 == pauseon) {
        if (%giw == off) {
          msg $chan Giveaway is currently paused.
        } 
        else {
          msg $chan Giveaway was paused.
          set %giw off
        }
      }
      elseif ($3 == pauseoff) {
        if (%giw == on) {
          msg $chan Giveaway is currently unpaused. 
        } 
        else {
          msg $chan Giveaway was unpaused.
          set %giw on
        }
      }
      elseif  ($3 == status) {
        if (%giw == on) { msg $chan Giveaway status: ON } 
        elseif (%giw == off) { msg $chan Giveaway status: OFF }
      }
    }
  }
}


Skimmed though and kinda fixed it. I didn't want to mess with your `return` attempts, so I just removed it for my own sanity.


<@KindOne> !mod giw start
<bot> Giveaway start!
<@KindOne> !mod giw stop
<bot> Giveaway was closed.
<@KindOne> !mod giw status
<bot> Giveaway status: OFF
<@KindOne> !mod giw start
<bot> Giveaway start!
<@KindOne> !mod giw status
<bot> Giveaway status: ON

Start reading the wiki and run this. It will show syntax issues. http://www.msldev.com/