I think you're on the money skinet1776. I VPN to work all the time and if I forget to disconnect my VPN before leaving my computer and then my mac goes to sleep (disconnects from the wifi and vpn) and then I bring up the login screen, I can pretty much guarantee that I'll have no option but to hard reset the mac.
One painful option to get around this seems to be to turn off wifi/network before you let your mac go to sleep.
Notes about the bug I get...
I enter my password but the password text in the box just stays or shakes. Hitting return or clicking cancel etc does nothing after that failed first attempt. The mouse and keyboard work so the machine isn't frozen, just not accepting passwords. Can't even switch user which used to be an option around this. It's very annoying and I'd bet its related to my account being an OD one and the network connectivity changing. Nonetheless, it should fall back to validating against the local cached password - which it doesn't.
I'd suggest to use the console app and check out your /var/log/asl logs on the client side just before you had to reboot. In mine I see all sorts of unhappiness with heaps of utun0 errors (likely my CISCO VPN client dropped while the mac was sleeping).
Also I suspect the weird "not accepting the password text" bug that seems to happen after the first attempt to unlock fails (silently) is related to this odd error:
Apr 16 09:48:03 LACY-PH loginwindow[96] <Error>: ERROR | -[LWBuiltInScreenLockAuthLion askForPasswordBuiltIn:] | Attempted to add an observer when already observing
------- here's a small snippet from one of the /var/log/asl logs ------
.
.
Apr 16 09:46:51 LACY-PH acvpnagent[51] <Warning>: Function: getInterfaces File: ../../vpn/Common/Utility/NetInterface_unix.cpp Line: 1330 missing PPP destination address for interface "utun0". Check profile PPPExclusion (set to Automatic?) or contact your administrator.
Apr 16 09:46:51 LACY-PH acvpnagent[51] <Error>: Function: GetPrimaryInterfaceIndex File: ../../vpn/Common/Utility/NetInterface_unix.cpp Line: 422 Unable to get global IPv6 information from system configuration.
Apr 16 09:46:51 LACY-PH acvpnagent[51] <Error>: Function: determinePublicAddrCandidateFromDefRoute File: ../../vpn/AgentUtilities/HostConfigMgr.cpp Line: 1769 Invoked Function: CHostConfigMgr::FindDefaultRouteInterface Return Code: -24117215 (0xFE900021) Description: ROUTETABLE_ERROR_GETBESTROUTE_FAILED
Apr 16 09:46:51 LACY-PH acvpnagent[51] <Warning>: Function: updatePotentialPublicAddresses File: ../../vpn/AgentUtilities/HostConfigMgr.cpp Line: 1914 Invoked Function: CHostConfigMgr::determinePublicAddrCandidateFromDefRoute Return Code: -24117215 (0xFE900021) Description: ROUTETABLE_ERROR_GETBESTROUTE_FAILED
Apr 16 09:46:52 LACY-PH acvpnagent[51] <Notice>: Function: logProbeFailure File: ../../vpn/Agent/NetEnvironment.cpp Line: 1418 The HTTPS probe to 150.229.84.115 resulted in a redirect.
Apr 16 09:46:54 LACY-PH discoveryd[79] <Notice>: Basic DNSResolver UDNSServer:: PowerState is FullWake
Apr 16 09:47:14 LACY-PH watchdogd[300] <Notice>: [watchdog_daemon] @( pm_callback) - ref=0x0 msg_type=0xe0000300 msg=0x0
Apr 16 09:47:14 LACY-PH coreaudiod[664] <Notice>: 2015-04-16 09:47:14.256699 AM [AirPlay] Power: SystemHasPoweredOn
Apr 16 09:47:14 LACY-PH coreaudiod[664] <Notice>: 2015-04-16 09:47:14.257618 AM [AirPlay] BTLE client starting to browse for AirPlay Solo Target Presence.
Apr 16 09:47:14 LACY-PH coreaudiod[664] <Notice>: 2015-04-16 09:47:14.258974 AM [AirPlay] BTLE client stopping to browse for AirPlay Solo Target Presence.
Apr 16 09:47:14 LACY-PH coreaudiod[664] <Notice>: 2015-04-16 09:47:14.259175 AM [AirPlay] BTLE client starting to browse for AirPlay Solo Target Presence.
Apr 16 09:47:14 LACY-PH coreaudiod[664] <Notice>: 2015-04-16 09:47:14.259482 AM [AirPlay] BTLE client stopped to browse for AirPlay Solo Target Presence.
Apr 16 09:47:14 LACY-PH coreaudiod[664] <Notice>: 2015-04-16 09:47:14.259764 AM [AirPlay] BTLE client started to browse for AirPlay Solo Target Presence.
Apr 16 09:47:19 LACY-PH UserEventAgent[44] <Error>: assertion failed: 14D131: com.apple.cts + 6509 [A35312EF-AC04-3BB6-83B0-4A251232C766]: 0xffffffffe00002f0
Apr 16 09:47:20 LACY-PH periodic-wrapper[10646] <Notice>: Running weekly periodic task.
Apr 16 09:47:24 LACY-PH UserEventAgent[598] <Error>: assertion failed: 14D131: com.apple.cts + 6509 [A35312EF-AC04-3BB6-83B0-4A251232C766]: 0xffffffffe00002f0
Apr 16 09:47:35 LACY-PH discoveryd[79] <Notice>: Basic DNSResolver UDNSServer:: PowerState is FullWake
Apr 16 09:47:35 LACY-PH mapspushd[859] <Notice>: 2015-04-16 09:47:35.949, 859, a5258d0, [MapsAnnouncements]: server returned error: 404 for URL http://gspe21.ls.apple.com/config/announcements?hardware=MacBookPro11,3&lang=en& os=osx&os_build=14D131&os_version=10.10.3
Apr 16 09:47:35 LACY-PH mapspushd[859] <Notice>: 2015-04-16 09:47:35.949, 859, a5258d0, [MapsAnnouncements]: Failed to load announcements document: Error Domain=GEOErrorDomain Code=-601 "The operation couldn’t be completed. (GEOErrorDomain error -601.)" UserInfo=0x7f850c111290 {NSErrorFailingURLStringKey=http://gspe21.ls.apple.com/config/announcements?hardware=MacBookPro11,3&lang=en& os=osx&os_build=14D131&os_version=10.10.3, HTTP Status Code=404}
Apr 16 09:47:47 LACY-PH discoveryd[79] <Notice>: Basic DNSResolver Error 9 on socket - this might be a closed socket
Apr 16 09:48:03 LACY-PH loginwindow[96] <Error>: ERROR | -[LWBuiltInScreenLockAuthLion askForPasswordBuiltIn:] | Attempted to add an observer when already observing
Apr 16 09:48:03 LACY-PH WindowServer[154] <Warning>: CGError post_notification(const CGSNotificationType, void *const, const size_t, const bool, const CGSRealTimeDelta, const int, const CGSConnectionID *const, const pid_t): Timed out 1.000 second wait for reply from "owncloud" for synchronous notification type 102 (kCGSDisplayWillSleep) (CID 0x26703, PID 863)
Apr 16 09:48:03 LACY-PH WindowServer[154] <Warning>: device_generate_desktop_screenshot: authw 0x7f81106e76c0(2004), shield 0x7f81194282b0(2001)
Apr 16 09:48:04 LACY-PH WindowServer[154] <Warning>: device_generate_lock_screen_screenshot: authw 0x7f81106e76c0(2004)[0, 0, 1920, 1200] shield 0x7f81194282b0(2001), dev [1920,1200]
Apr 16 09:48:04 LACY-PH WindowServer[154] <Warning>: CGXDisplayDidWakeNotification [98963896177292]: posting kCGSDisplayDidWake
Apr 16 09:48:04 LACY-PH WindowServer[154] <Warning>: handle_will_sleep_auth_and_shield_windows: Deferring.
Apr 16 09:48:35 localhost syslogd[44] <Notice>: Configuration Notice:
ASL Module "com.apple.AccountPolicyHelper" claims selected messages.
Those messages may not appear in standard system log files or in the ASL database.
Apr 16 09:48:35 localhost syslogd[44] <Notice>: Configuration Notice:
ASL Module "com.apple.authd" sharing output destination "/var/log/asl" with ASL Module "com.apple.asl".
Output parameters from ASL Module "com.apple.asl" override any specified in ASL Module "com.apple.authd".
Apr 16 09:48:35 localhost syslogd[44] <Notice>: Configuration Notice:
ASL Module "com.apple.authd" sharing output destination "/var/log/system.log" with ASL Module "com.apple.asl".
Output parameters from ASL Module "com.apple.asl" override any specified in ASL Module "com.apple.authd".
Apr 16 09:48:35 localhost syslogd[44] <Notice>: Configuration Notice:
ASL Module "com.apple.authd" claims selected messages.
Those messages may not appear in standard system log files or in the ASL database.
Apr 16 09:48:35 localhost syslogd[44] <Notice>: Configuration Notice:
ASL Module "com.apple.awdd" claims selected messages.
Those messages may not appear in standard system log files or in the ASL database.
Apr 16 09:48:35 localhost syslogd[44] <Notice>: Configuration Notice:
ASL Module "com.apple.callhistory.asl.conf" claims selected messages.
Those messages may not appear in standard system log files or in the ASL database.
Apr 16 09:48:35 localhost syslogd[44] <Notice>: Configuration Notice:
ASL Module "com.apple.cloudd" claims selected messages.
Those messages may not appear in standard system log files or in the ASL database.
Apr 16 09:48:35 localhost syslogd[44] <Notice>: Configuration Notice:
ASL Module "com.apple.clouddocs" claims selected messages.
.
.
these errors continue for some time