I looked through the forums and found a post about it in Developer Help (although I cannot find it now.) and it helped me to create a workaround. I thought I would share this workaround with you.
proc/get_bounds(mob/M, var/boundz_x=0, var/boundz_y=0)
if(M.dir == EAST)
boundz_x = M.bound_width
else if(M.dir == WEST)
boundz_x = -M.bound_width
else if(M.dir == NORTH)
boundz_y = M.bound_height
else if(M.dir == SOUTH)
boundz_y = -M.bound_height
return obounds(M, boundz_x, boundz_y)
Here is where you can see an example of this proc being utilized (for reference purposes.):
mob/verb
Punch()
flick("punch", usr)
for(var/mob/M in get_bounds(usr))
M.health = 0
M << "<b>You dead!"
M.Die()
If anyone can find the post I used to create this procedure, please share. I'd like to reference it!
[Edit]
Since get_bounds() returns obounds(), it searches for a mob within the bounds you are facing.
Example: If your character is facing EAST, it searches for a mob within your bounds_width infront of you. It then returns obounds(M, M.bounds_width, 0). The 0 within the args makes sure it doesn't search any pixels higher or lower than your mob's current location within the tile. The same is said for searching for a mob when you are facing either NORTH or SOUTH.
[/Edit]