Do I need to restart IIS if I drop a new DLL into the trash of my virtual directory?
No, you do not need, the application will recycle, but IISReset is NOT required
No, you do not need to restart IIS. However, your workflow will be automatically recycled.
If your application is an ASP.NET application, I believe that AppDomain will restart, but the workflow (w3wp.exe) will NOT. For most purposes, AppDomain reset is enough to clear the state, but for some (usually unmanaged DLLs loaded into the process) this may not be enough. In these cases, IISRESET will work.